Как я могу получить определенные значения в хэше в Ruby? - PullRequest
1 голос
/ 25 августа 2010

У меня есть хэш

hash = { 1=> { 0=> 'apple', 1=> 'tree'... ....}, 2=> {.....}}

Я хочу получить 0 для всех хэшей в хэше.Я знаю, что есть транспонирование для массива, но есть ли способ сделать это легко с помощью хэша?

1 Ответ

2 голосов
/ 25 августа 2010

Примерно так должно работать:

hash.values.collect{|v| v[0]}

Пример:

irb(main):001:0> hash = { 1 => { 0 => 'apple', 1 => 'tree' }, 
  2 => { 0 => 'foo', 1 => 'bar' }}
=> {1=>{0=>"apple", 1=>"tree"}, 2=>{0=>"foo", 1=>"bar"}}
irb(main):002:0> hash.values.collect{|value| value[0]}
=> ["apple", "foo"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...