true / false

Ruby では真偽値 (boolean) を表す組み込み型は存在しない。

  • trueTrueClass の唯一のインスタンス
  • falseFalseClass の唯一のインスタンス

参考:

Ruby の true と false の話 – Qiita

class TrueClass (Ruby 2.6.0)

class FalseClass (Ruby 2.6.0)

条件式における真偽値

  • 「真」として判定する (truthy):false もしくは nil 以外のオブジェクトや値
  • 「偽」として判定する (falsy):false もしくは nil

参考:

Ruby における「真」と「偽」の判定 | 或るプログラマの開発日記

What evaluates to false in Ruby? – Stack Overflow

真偽値の判定

!! を付けると条件式における真偽が true もしくは false に変換される。

!!something

配列やオブジェクト、nil0 の扱いを確認する。

!![]          # => true
!!Object.new  # => true
!!nil         # => false
!![].first    # => false
!!0           # => true

[].firstnil なので偽 (falsy) と判定される。

参考:

Bool 値かどうか型チェックしたい。ついでに is_bool? メソッドを作ってみた。| かもメモ

Ruby の true と false の話 – Qiita

真偽値を表すトップレベル定数

※ 非推奨

  • TRUEtrue と同じ
  • FALSEfalse と同じ

参考:

constant Object::TRUE (Ruby 2.6.0)

constant Object::FALSE (Ruby 2.6.0)

NIL, TRUE, FALSE とは何なのか? | teratail

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です