2010 年 7 月 11 日
Rubyでハッシュのキーをシンボルに変換
# ハッシュのキーを再帰的に全てシンボルに変換
def key_to_hash hash
hash.inject({}) do |r,entry|
if entry[1].instance_of? Hash
entry[1] = key_to_hash(entry[1])
end
r.store( entry[0].to_sym, entry[1])
r
end
end
a = { 'hoge'=>'piyo', :foo => { 'bar' => 'BAR' } }
p key_to_hash(a)
#=> {:hoge=>"piyo", :foo=>{:bar=>"BAR"}}
Filed under: 未分類 — hikaru 9:40 PM Comments (2)
hikaruのサイト