何かと使えると非常に便利なので、それぞれの役割を紹介

nil?

nil?はそれ自体が存在しないという意味

car.nil? これはcarっていうものが存在しているのか確認している

この場合だと、carが存在しない場合にtrueの値が返ってくる

empty?

empty?は存在している箱に対して中身の値があるのかないのかをチェック

car.empty? この場合だとcarという箱自体は存在するが中身の値があるのかないのかを確認している。
carの中身の値がからの場合にtrueが仮ってくる

なので、nil?と違ってcarは存在している前提

blank?

nil?とempty?が組み合わさったもの

car.blank? これはcarっていう箱が存在しない場合もしくは、箱は存在するが中身の値がからの場合にtrueを返す

present?

!blank?の意味になる

car.present? これの意味はnil?でなく、中身の値が空ではない時にtrueの値を返す
つまりcarという箱が存在している、carという箱に値が入っている状態。

まとめ

  • nil? = 存在しない(true)
  • empty? = 存在するが値が空(true)
  • blank? = nil?もしくはempty?の時(true)
  • present? = nil?ではなく、値が空ではない時(true)

いつも何かと調べていたのでメモ程度に。。。。