Как перебрать массив хэшей в ruby - PullRequest
0 голосов
/ 26 июня 2018

Попытка перебрать массив с помощью 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 голосов
/ 26 июня 2018

В более новых версиях Ruby (не уверен, когда он был введен, вероятно, вокруг ruby ​​2.0-ish, когда я считаю, что были введены аргументы ключевого слова), вы можете сделать:

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

где ** принимает все ключевые аргументы, которые вы не называете, и проглатывает их (т. Е. Ключи first_name и job_title в хэше). Если это не то, что позволяет ваша версия ruby, вам нужно просто сохранить весь хеш в переменной:

people.each do |person|
  puts person[:salary]
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...