いまさら気づいたこんなこと
普段の作業では、文章中の単語の出現回数とか数えることがよくあるのですよ。ボク。
Hashを使って、単語がキーで回数が値とかやるわけですが、初出現の単語がくるとhash[key]はnilと評価されて足し算がmethod_missingとなるので
if count[w].nil? count[w] = 1 else count[w] += 1 end
とか
count[w] = count[w].nil? ? 1 : count[w]+1
とかやってたんですよ。
もっとスマートに書けないかなーと思っていたら、むっさ簡単に書けるじゃないかコンチクショー(# ゜Д゜)ー!
count[w] = (count[w] || 0) + 1
count[w] = (count[w] or 0) + 1
なぜ今まで思いつかなかったのか…
2012/11/14 追記
こういう書き方はnilガードって言うらしいです。