はじめに
こんにちは、東京アプリケーションシステム 第二ソリューション部のK.T.です。
今回は、Rubyのぼっち演算子についての内容になります
ぼっち演算子とは
ぼっち演算子は、レシーバがnilではない時に続くメソッドを呼び出してくれます
例えば以下のコードでは、配列にnilが存在した場合に、NoMethodError が throw されます
1 2 |
ary = ["foo", "barbar", nil, "bazbazbaz"] ary.each { |obj| print obj.length } # => undefined method `length' for nil:NilClass (NoMethodError) |
以下のように書くことで、エラーを回避できます
1 2 |
ary = ["foo", "barbar", nil, "bazbazbaz"] ary.each { |obj| print obj&.length } # 369 |
まとめ
ぼっち演算子を使用することにより、レシーバがnilの場合にメソッドが呼び出され NoMethodError になることを防いでくれます