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。与其编辑问题以添加解决方案,不如将其作为答案发布,但是(甚至可以在页面上直接回答问题)