破いて捨てたノート

Webやテクノロジーやそれ以外に関する思いつき

RubyでArrayからHashを生成するいろいろ

Hash['hoge', 1, 'fuga', 2]
# => {"hoge"=>1, "fuga"=>2}

Hash['hoge', 1, 'fuga', 2 , 3]
# ArgumentError: odd number of arguments for Hash

array = ['hoge', 1, 'fuga', 2]
Hash[array]
# warning: wrong element type String at 0 (expected array)
# warning: ignoring wrong elements is deprecated, remove them explicitly

Hash[*array]
# => {"hoge"=>1, "fuga"=>2}

array = [['hoge', 1], ['fuga', 2]]
Hash[*array]
# => {["hoge", 1]=>["fuga", 2]}
Hash[*array.flatten]
# => {"hoge"=>1, "fuga"=>2}

RailsだったらARを使って引っ張ってきたデータをmapしてkey & valueのarrayにして、Hashにしてなんやかんやしたりするとかで使えそう。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)