2
1

More than 3 years have passed since last update.

Ruby true false 判定をする方法

Posted at

意外と結構判定する方法があったので
まとめてみました

他にもあったような…見つけ次第追記します

前提 「true」か「false」の判断基準

Rubyでは、nilfalseの2つはfalseという扱いになります
それ以外は、文字列だろうが、空のハッシュだろうがtrueになります

is_aメソッド

is_a?(クラス名)というメソッドを使うと
オブジェクトが引数のクラスのインスタンスかどうか判定できる

pry(main)> test = true
=> true
pry(main)> test.is_a?(TrueClass)
=> true

pry(main)> test = false
=> false
pry(main)> test.is_a?(FalseClass)
=> false

pry(main)> test = nil
=> false
pry(main)> test.is_a?(FalseClass)
=> false

否定演算子「!」を2つ

pry(main)> !!""
=> true
pry(main)> !!1
=> true
pry(main)> !![]
=> true
pry(main)> !!false
=> false
pry(main)> !!nil
=> false

anyメソッド

どれか1つでも条件を満たすのであればtrue、
すべて条件を満たさないのであればfalseを返すメソッド

#trueが含まれるのでtrue
pry(main)> [nil, false, true].any?
=> true

#すべてfalseなのでfalse
pry(main)>> [nil, false, false].any?
=> false

#すべてtrueなのでtrue
pry(main)>> ["", 0, "test"].any?
=> true
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1