4

入力:

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

出力:

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

私はそれを行うためにこの方法を考えます:

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

しかし、それでも最善の方法ではないと思います。誰かがより良い解決策を持っていますか?

4

1 に答える 1

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

またはよりきれいなもの:

>> Hash[a] 

または2.1以降:

>> a.to_h
于 2012-12-13T05:10:06.910 に答える