如何遍历红宝石中的一系列哈希

时间:2018-06-26 15:57:07

标签: ruby-on-rails ruby ruby-on-rails-3

尝试使用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"}

有没有办法遍历此数组并仅列出薪水值而不列出其余值?

1 个答案:

答案 0 :(得分:3)

在较新版本的Ruby中(不确定何时引入它,大概在ruby 2.0-ish左右(我相信是在引入关键字参数的时候)),您可以执行以下操作:

WHERE

其中people.each do |salary:,**| puts salary end 接受所有您未命名的关键字参数并将其吞并(即哈希中的**first_name键)。如果那不是您的ruby版本所允许的,那么您只需要将整个哈希存储在变量中即可:

job_title