present?メソッドとは

present?メソッドとは

present?とは、真偽判定をしてくれるメソッドの1つで、オブジェクトに値が入っていれば真、入っていなければ偽を返してくれます。

その他のメソッドとの違い。

メソッド メソッドの意味
nil? 変数の値がnilまたは値なしで真
empty? 変数の値が空白("")の場合、真
blank? nil?,empty?が真の時、真
present? blank?が偽の時、真

present?の使い方

Rubyでは、nil?とempty?しか標準で使えないが、blank?とpresent?はRailsに搭載されているためRailsでの環境下ではそのまま使用することができる。 * 使い方例

num1 = 10
num2 = ""
num3 = true
num4 = false

num1.present?    # => true
num2.present?    # => false
num3.present?    # => true
num4.present?    # => false

他にも配列やハッシュの判定も行える。

arr = Array["dog", "cat", "rabit", "", "cow", ""]
 
for var in arr do    # varにarrの要素を順に入れるfor文
  p var.present?
end

結果は、

true
true
true
false
true
false

となる。また、これはif文の中でも使うことができる。

arr = Array["dog", "cat", "rabit", "", "cow", ""]

for var in arr do
  if var.present?
    puts var
  else
    puts "値は空です"
  end
end

結果は

dog
cat
rabit
値は空です
cow
値は空です

となります。

参考

https://www.sejuku.net/blog/66030