true / false
Ruby では真偽値 (boolean) を表す組み込み型は存在しない。
true
はTrueClass
の唯一のインスタンスfalse
はFalseClass
の唯一のインスタンス
参考:
Ruby の true と false の話 – Qiita
条件式における真偽値
- 「真」として判定する (truthy):
false
もしくはnil
以外のオブジェクトや値 - 「偽」として判定する (falsy):
false
もしくはnil
参考:
Ruby における「真」と「偽」の判定 | 或るプログラマの開発日記
What evaluates to false in Ruby? – Stack Overflow
真偽値の判定
!!
を付けると条件式における真偽が true
もしくは false
に変換される。
!!something
配列やオブジェクト、nil
、0
の扱いを確認する。
!![] # => true !!Object.new # => true !!nil # => false !![].first # => false !!0 # => true
[].first
は nil
なので偽 (falsy) と判定される。
参考:
Bool 値かどうか型チェックしたい。ついでに is_bool? メソッドを作ってみた。| かもメモ
Ruby の true と false の話 – Qiita
真偽値を表すトップレベル定数
※ 非推奨
TRUE
:true
と同じFALSE
:false
と同じ
参考:
constant Object::TRUE (Ruby 2.6.0)