現場で使える Ruby on rails 5 速習実践ガイドの参考書で学んだぼっち演算子(&.)を勉強の記録用として記事にしてみました。
#ぼっち演算子 (&.) とは
&.という演算子を使ってメソッドを呼び出すと、レシーバーがnilであった場合でもエラーが発生しなくなります。
class User
def name
'名前'
end
end
> user = User.new
> user.name
=> '名前'
#①
> object = nil
> object&.name
=> nil
#②
> object.name
Traceback (most recent call last):
...
NoMethodError (undefined method `name' for nil:NilClass)
②ではぼっち演算子を使わず、レシーバーであるオブジェクトがnilの場合はエラーになります。
①ではぼっち演算子を使うことでnilが返ってきてエラーにはなりません。
#参考
・現場で使える Ruby on rails 5 速習実践ガイド