0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

オブジェクト存在チェックメソッド5つの違いを徹底解説

Posted at

オブジェクト存在チェックメソッド5つの違いを徹底解説

この記事では、.nil?, .empty?, .blank?, .present, そして .presence のそれぞれの使い方と違いについて説明していきます。

1. .nil?

.nil? メソッドは、オブジェクトが nil かどうかを判定します。nil であれば true を返し、それ以外の場合は false を返します。つまり、オブジェクトが何も参照していないかどうかを確認するためのメソッドです。

value = nil
value.nil?  # => true

number = 10
number.nil?  # => false

2. .empty?

.empty? は、オブジェクトが空であるかを判定するためのメソッドです。例えば、文字列の場合、中身が空であれば true を返します。

empty_string = ""
empty_string.empty?  # => true

full_string = "Hello!"
full_string.empty?  # => false

3. .blank?

.blank? は、オブジェクトが「何もない」状態を判定します。nil?true であるか、または .empty?true である場合、.blank?true を返します。

empty_string = ""
empty_string.blank?  # => true

nil_value = nil
nil_value.blank?  # => true

non_empty_string = "Hello!"
non_empty_string.blank?  # => false

4. .present

.present.blank? の逆です。オブジェクトが空でないかを確認します。.blank?true の場合、.presentfalse を返し、その逆も同様です。

empty_string = ""
empty_string.present?  # => false

non_empty_string = "Hello!"
non_empty_string.present?  # => true

5. .presence

.presence は、値が存在する場合はその値自身を、存在しない場合は nil を返します。主に nil を排除する際に使用されます。

empty_string = ""
empty_string.presence  # => nil

non_empty_string = "Hello!"
non_empty_string.presence  # => "Hello!"

これらのメソッドを使いこなすことで、プログラムをより効率的に記述できます。各メソッドの特性を把握することで、データの有無や空状態を正確に判断し、適切な処理を行うことができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?