如何遍历 ruby 中的哈希数组

How to iterate through an array of hashes in ruby

尝试使用 ruby 遍历数组但失败得很惨,

My Array
people = [{first_name: "Gary", job_title: "car enthusiast", salary: "14000" },
{first_name: "Claire", job_title: "developer", salary: "15000"},
{first_name: "Clem", job_title: "developer", salary: "12000"}]

如何遍历上述哈希值只输出薪水值???

我尝试使用:

people.each do |i,j,k|
  puts "#{i}"
end

结果如下,不是我想要的,

{:first_name=>"Gary", :job_title=>"car enthusiast", :salary=>"14000"}
{:first_name=>"Claire", :job_title=>"developer", :salary=>"15000"}
{:first_name=>"Clem", :job_title=>"developer", :salary=>"12000"}

有没有办法遍历这个数组并只列出薪水值而不列出其他值?

在 Ruby 的较新版本中(不确定它是何时引入的,可能是在 ruby 2.0-ish 左右,我相信关键字参数是在这个时候引入的),你可以这样做:

people.each do |salary:,**|
  puts salary
end

其中 ** 获取所有您未命名的关键字参数并吞下它们(即散列中的 first_namejob_title 键)。如果这不是您的 ruby 版本所允许的,您只需将整个散列存储在变量中:

people.each do |person|
  puts person[:salary]
end