【Ruby】『&.』ぼっち演算子(safe navigation operator)
&.
ぼっち演算子(safe navigation operator)
概要
- Ruby 2.3 以降で使用可能
&.
をつけてメソッドを呼び出すとレシーバがnil
の場合にnil
を返す&.
の形がひとりぼっちで座っているように見えるからぼっち演算子(lonely operator)と呼ばれることが多い
使い方
レシーバがnil以外の場合
string = "hello" string&.upcase # => HELLO
レシーバがnilの場合
string = nil string&.upcase # => nil # ぼっち演算子を使わずに書くと string = nil string.upcase # => NoMethodError
コメント
会社で見たときになんだこれと思って調べてみたら便利だった。
try!
というメソッドもあるみたいだけど、&.
のほうが早いらしい。
Rubyのぼっち演算子はRailsの`Object#try`より高速(翻訳)
if文とか三項演算子よりももっとシンプルに書けるので素敵😌