以下の内容はhttps://unageanu.hatenablog.com/entry/20090418/1240048237より取得しました。


ハッシュのキーをシンボルに変換しようとして

ハッシュのキーをシンボルに変換しようとして、↓のように書いたが動かず。

hash = {"a"=>"aaa", "b"=>"bbb"}
p hash.map{|entry| [entry[0].to_sym, entry[1]] }

実行結果です。

[[:a, "aaa"], [:b, "bbb"]]

RubyリファレンスマニュアルのEnumerable#mapによると、

map {|item| ... }

各要素に対してブロックを評価した結果を全て含む配列を返します。

そうか、配列に変換する関数なのか。ということで、injectで。

hash = {"a"=>"aaa", "b"=>"bbb"}
p hash.inject({}){|r,entry| r.store( entry[0].to_sym, entry[1] ); r }

実行結果です。

{:a=>"aaa", :b=>"bbb"}



以上の内容はhttps://unageanu.hatenablog.com/entry/20090418/1240048237より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14