在Ruby 1.8.7中获取一个包含Hash对的数组

时间:2013-12-25 07:11:02

标签: ruby

给定一个哈希,我想得到一个包含所有对的数组。

这应该有效:

hash.select{true}

我找不到一个内置的方法来做到这一点,我觉得很奇怪,因为它看起来像我通常需要的合理操作。有没有更简单的方法来实现这一目标? (好吧,我知道上面的代码已经很简单,但我想知道Ruby是否有更标准的方法来实现这一点。)

2 个答案:

答案 0 :(得分:2)

使用Hash#to_a

kirti@kirti-Aspire-5733Z:~$ rvm use 1.8.7
Using /home/kirti/.rvm/gems/ruby-1.8.7-p374
kirti@kirti-Aspire-5733Z:~$ irb
1.8.7 :001 > h = {1 => 2}
 => {1=>2} 
1.8.7 :002 > h.to_a
 => [[1, 2]] 
1.8.7 :003 > 

答案 1 :(得分:1)

只需在哈希上使用to_a方法(读作:to array):

hash = { :a => 3, :b => 5 }
hash.to_a
#=> [[:a, 3], [:b, 5]]