rubyのnilと0がおもしろい
どう面白いかというと
pp 'hoge' if true
#=> "hoge"
pp 'hoge' if false
#=> nil
これは当然ですね
次に
pp 'hoge' if 0
#=> "hoge"
pp 'hoge' if nil
#=> nil
おもしろい
0 は true を返し
nil は false を返すようです
まだ基本ですね
次に
pp 'hoge' if nil.to_i
#=> "hoge"
pp 'hoge' if nil
#=> nil
おもしろい
nil.to_i が 0 を返すように定義されているので
if nil.to_i は true で
if nil は false なんですね
nil.to_i はDBにNULLとか保存しちゃっててそれを含んだ和を計算したいときに強制的に0に変換してくれて例外処理的に便利なのかなって思ってます。
ついでに
''.to_i
#=> 0
true.to_i
#=> undifined method error
false.to_i
#=> undifined method error
なんかも知っておくと良いでしょう
個人的には
nil.nil?
#=> true
なんかが好きですね
誰もいない空間に「誰もいないよねー?」
って聞いたら
「うん、いないよー!」
って
ホラーですね