present?メソッドとは
オブジェクトの中に値が格納されているのかを判定するメソッドで、値があればtrue(真)、なければfalse(偽)を返す。
*present?を使用するためには、gemが提供しているActiveSupportをインストールする必要がある。
参考例
①
num = 1
1.present? => true
num = nil
nil.present? => false
num = 0
0.present? => true
②
str = "lotte"
"lotte".present? => true
str = ""
"".present? => false
③
bool = true
true.present? => true
bool = false
false.present? => false
①数値が入っていればtrueだが、nilだとfalseが返る。
②空文字だとfalse。
③bool値がtrueだとtrue、falseだとfalseが返る。
ハッシュや配列の場合
hash = {}
p hash.present?
=> false
array = []
p array.present?
=> false
配列内の要素ごとに、値があるかどうかを判定したい場合
array = Array["ogino", "fujiwara", "", "nakamura", ""]
array.each{|var|
p var.present?
}
true
true
false
true
false
配列に文字列がある1,2,4個目はtrue、空文字がある3,5個目はfalseが返る。