在ruby中散列的数组

时间:2012-12-13 05:04:46

标签: ruby

输入:

 a = [[:a, "apple"], [:b, "bear"]]

输出:

 {:a=>"apple", :b=>"bear"}

我想到这样做:

h = a.inject({}){|dic,i| dic.merge({i[0]=>i[1]})}

但我仍然认为这不是最好的方法。有没有人有更好的解决方案?

1 个答案:

答案 0 :(得分:10)

>> Hash[*a.flatten]
=> {:a=>"apple", :b=>"bear"}

或者更漂亮的一个:

>> Hash[a] 

或2.1之后:

>> a.to_h