对不起,如果这很明显,我只是没有得到它.如果我有一系列哈希像:
people = [{:name => "Bob", :occupation=> "Builder"}, {:name => "Jim", :occupation =>
"Coder"}]
Run Code Online (Sandbox Code Playgroud)
我想迭代数组并输出字符串,如:"Bob:Builder".我该怎么办?我理解如何迭代,但我仍然有点迷失.现在,我有:
people.each do |person|
person.each do |k,v|
puts "#{v}"
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题是我不明白如何返回两个值,只分别返回每个值.我错过了什么?
谢谢您的帮助.
Ric*_*ook 16
干得好:
puts people.collect { |p| "#{p[:name]}: #{p[:occupation]}" }
Run Code Online (Sandbox Code Playgroud)
要么:
people.each do |person|
puts "#{person[:name]}: #{person[:occupation]}"
end
Run Code Online (Sandbox Code Playgroud)
在回答关于访问数组中元素中的值的更一般的查询时,您需要知道这people是一个哈希数组.散列具有分别返回键和值的keys方法和values方法.考虑到这一点,更通用的解决方案可能类似于:
people.each do |person|
puts person.values.join(': ')
end
Run Code Online (Sandbox Code Playgroud)