Ruby でハッシュの値が nil の場合のみ値を変更して新たなハッシュを返す

スポンサーリンク

Ruby のハッシュで、値が nil の要素の値を文字列 “not exist” に変更して、新たなハッシュを返したい時のような処理を行う方法です。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

以下のハッシュで例示。

Hash#map を使う

普通に考えると、Hash#map を使いたくなるのですけど、Hash#map ではハッシュを返せません。

最後のやつはなかなか惜しい。

こうしてやると、ハッシュにできます。

Hash#inject を使う

完璧。Ruby の inject メソッドはかっこいい。Ruby 入門したばかりの頃は理解できにくかったメソッドの一つなのですけど。他にも良い方法がありそうな気がするので、ご存知でしたらぜひ教えて下さい!

スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
 
スポンサーリンク

Leave Your Message!