意外と結構判定する方法があったので
まとめてみました
他にもあったような…見つけ次第追記します
##前提 「true」か「false」の判断基準
Rubyでは、nil
かfalse
の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