読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

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

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

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"}