ぼっち演算
適応バージョン
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.3
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.2.1
- 7.0.0
try
説明
オブジェクトがnilの時やメソッドが定義されていない場合はnilを返す
メソッドが定義されている場合はそのメソットを呼び出す
使い方
オブジェクト.try(メソッド)
例
メソッドが定義されていない場合やオブジェクトがnilの時にnilを返す
@person.try(:name)
# @person.name if @personと同じ
tryを重ねる
@person.try(:spouse).try(:name)
nilの場合
@person.try(:non_existing_method)x
# nil
ソースコード
try!
説明
オブジェクトがnilの時にnilを返し、メソッドが定義されている場合はそのメソットを呼び出す
メソッドが定義されていない場合は例外が発生
Rubyのぼっち演算子と同じ処理で、ぼっち演算子の方が高速なので、ぼっち演算子がおすすめ
使い方
オブジェクト.try(メソッド)
例
メソッドが定義されている場合はそのメソットを呼び出す
@person.try!(:name)
tryを重ねる
@person.try!(:spouse).try(:name)!
nilの場合
@person.try!(:non_existing_method)x
# nil
ソースコード
&.
説明
オブジェクトがnilの時にnilを返し、メソッドが定義されている場合はそのメソットを呼び出す
メソッドが定義されていない場合は例外が発生
基本的にはtry!と同じ
Ruby2.3以降に追加されたRubyのメソッド
使い方
nil.try(:name) # => nil
例
メソッドが定義されている場合はそのメソットを呼び出す
@person&.name