Ruby on rails 访问ruby散列的元素

Ruby on rails 访问ruby散列的元素,ruby-on-rails,ruby,Ruby On Rails,Ruby,我定义了以下哈希: Ruby 2.15 如果我这样做 test = Hash.new test["foo"] = { 'id' => 5, 'lobbyist_id' => 19, 'organization_id' => 8 } 我得到: test.each do |t| print t["id"] end 如何使用each循环访问元素 答复: 对于散列,首先通过键进行迭代,然后通过值进行迭代。所以,让你的街区使用你需要的东西 test.each do

我定义了以下哈希:

Ruby 2.15
如果我这样做

test = Hash.new
test["foo"] = {
  'id' => 5,
  'lobbyist_id' => 19,
  'organization_id' => 8
}
我得到:

test.each do |t|
  print t["id"] 
end
如何使用each循环访问元素

答复:
对于散列,首先通过键进行迭代,然后通过值进行迭代。所以,让你的街区使用你需要的东西

test.each do |t|
   t.each do |t1|
     puts t1["id"]
   end  
end
还有

test.each do |key|
  puts key
end

test.each do |key, value|
  puts key
  puts value
end

旁注:
id
test[“foo”]
中,所以可能需要两个循环


要直接从哈希中获取
id

test.each_key do |key|
  puts key
end

test.each_value do |value|
  puts value
end

对于散列,首先通过键进行迭代,然后通过值进行迭代。所以,让你的街区使用你需要的东西

test.each do |t|
   t.each do |t1|
     puts t1["id"]
   end  
end
还有

test.each do |key|
  puts key
end

test.each do |key, value|
  puts key
  puts value
end

旁注:
id
test[“foo”]
中,所以可能需要两个循环


要直接从哈希中获取
id

test.each_key do |key|
  puts key
end

test.each_value do |value|
  puts value
end

在您的示例中,我们假设您以前做过:

test["foo"]["id"]

test["foo"].each {|k, v| puts "#{k}: #{v}" }
在您的示例中,变量
test
是一个散列,
foo
是一个键值包含键值散列的键。如果你想瞄准它们,你需要在它们上面循环

test = Hash.new
如果要同时执行这两项操作:

test['foo'].each do |k,v|
  puts "my key is #{k}"
  puts "it's value is {v}
end

在您的示例中,我们假设您以前做过:

test["foo"]["id"]

test["foo"].each {|k, v| puts "#{k}: #{v}" }
在您的示例中,变量
test
是一个散列,
foo
是一个键值包含键值散列的键。如果你想瞄准它们,你需要在它们上面循环

test = Hash.new
如果要同时执行这两项操作:

test['foo'].each do |k,v|
  puts "my key is #{k}"
  puts "it's value is {v}
end

请加一些description@apneadiving我的问题是,如何从值中获取id(使用您的示例)是的,需要第二个循环。我更新了问题,请添加一些description@apneadiving我的问题是,如何从值中获取id(使用您的示例)是的,需要第二个循环。我更新了问题,如果您只需要
id
的值,那么为什么要使用每个循环?您可以使用
test['foo']['id']
直接获取id。与其编辑问题以添加解决方案,不如将其作为答案发布,但是(甚至可以在页面上直接回答问题)如果只需要
id
的值,那么为什么要使用每个循环?您可以使用
test['foo']['id']
直接获取id。与其编辑问题以添加解决方案,不如将其作为答案发布,但是(甚至可以在页面上直接回答问题)