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

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

スポンサーリンク

以下のハッシュで例示。

Hash#map を使う

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

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

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

Hash#inject を使う

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

スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!