Rubyは入れ子になった配列をハッシュに変換します
概要
フォームのネストされた配列を回転するエレガントな方法はありますか
[["a", 1], ["a", 2], [nil, 3], [nil, 4], ["b", 6], ["b", 8]]
フォームのハッシュに
{"a" => [1,2], nil => [3,4], "b" => [6,8]}
解決策
これは 1 つの方法です。
arr = [["a", 1], ["a", 2], [nil, 3], [nil, 4], ["b", 6], ["b", 8]]
h = Hash.new {|hash, key| hash[key] = []}
arr.each {|e| h[e[0]] << e[1]}
p h #=> {"a"=>[1, 2], nil=>[3, 4], "b"=>[6, 8]}