nil? empty? blank? present? メソッドの違い!(Ruby, Rails)

こんちは!

編集長っす!

今回は、Rubyの中でも少しややこしいメソッドである

  • nil?メソッド
  • empty?メソッド
  • blank?メソッド
  • present?メソッド

について見ていきます!

そもそもnilとは

それではまず「nil」について解説していきます。

「nilが何とかもう理解してるわ!」

って人は飛ばしちゃってください。

nilとは「何もない状態」のことを指します。

何もないといえば、現実世界では「0」をイメージするかもしれませんが、プログラミングの世界では「0が存在している」という風に捉えられます。

そのため、何もないと言うことを表現するために「nil」が必要になります。

nil?メソッド

nilを判定するメソッドである「nil?」メソッドについて見ていきましょう。

nilメソッドは

  • nilの時はtrue
  • nil以外の時はfalse

を返すメソッドです。

empty?メソッド

次にempty?メソッドについて見て行きます。

empty?メソッドは

  • 配列や文字列などの中身が空の場合trueを返す
  • nilの場合はエラーになる

と言う特徴を持っています。

blank?メソッド

次にblank?メソッドについて見ていきます。

blank?メソッドは

  • nilの時はtrue
  • オブジェクトの中身がからの時はtrue
  • それ以外はfalse

を返すメソッドです。

編集長
Railsで拡張されたメソッドなのでRuby単体では使えないので注意!

present?メソッド

次にpresent?メソッドについて見ていきます。

presentメソッドは

  • nilの時はfalse
  • オブジェクトの中身がからの時はfalse
  • それ以外はtrue

を返すメソッドです。

 

編集長

blank?と同じく、こちらもRailsで拡張されたメソッドなのでRuby単体では使えないので注意! 

まとめ

今回は、RubyとRailsのnil? empty? blank? present?について解説していきました。

それぞれのメソッドで微妙に挙動が違うので、適したメソッドを使うようにしましょう。

4980円のプログラミングスクール

プログラミングスクールに通いたいけど

  • 「値段が高すぎる」
  • 「実力がつくか不安」
  • 「しっかりした先生に教えてもらえるか不安」

と思ったことはありませんか?

 

でもそんなあなたの悩みは一気に解決するんです。

「月額4980円で現役フリーランスエンジニアに質問し放題なプログラミングスクール」

を作りました。

 

人数に限りがありますのでお申し込みはお早めに。