Ruby で true と評価されるオブジェクトと false と評価されるオブジェクト
Ruby のあらゆるオブジェクトは条件式で true
か false
と評価されますが, どのオブジェクトが true
と評価され, どのオブジェクトが false
と評価されるのでしょうか.
結論から言いますと, false
と nil
以外は true
と評価され, false
と nil
のみ false
と評価されます.
なので String の ""
, Array の []
, Hash の {}
, Integer の 0
もみんな true
と評価されます.
一見するとどれも false
と評価されそうですが…
なので Ruby ではこのオブジェクトは true
だったかな false
だったかなという混乱が起きにくいです.
なんだって false
になるのは false
と nil
だけで, それ以外は全て true
になるということだけ押さえておけばいいのですから.
Ruby の条件式でのオブジェクトの真偽値の評価はシンプルでいいですね.
関連記事
Rails の nil?, empty?, blank? の違い2018.04.26
Ruby の正規表現で素数かどうかを確認する方法2018.09.11
Ruby の正規表現を備忘録としてまとめてみた2018.08.30
Ruby のブロック, Proc, Lambda の違い2018.06.21
Ruby のクラスやメソッドのドキュメントを見れる ri コマンドが便利な件2018.09.08