如何在Ruby中的哈希中获取某些值?

时间:2010-08-25 14:18:40

标签: ruby-on-rails ruby

我有一个哈希

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

我想在散列中抓取所有哈希值的0。我知道有一个数组的转置,但有没有办法轻松地使用哈希?

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

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"]