Rubyのぼっち演算子(Null条件演算子)について調べてみた
Rubyをやっている時に、見かけない演算子&.
があったので調べてみました。
書き方
object&.method
用途
objectがnilじゃない場合にメソッドを呼び出す。ActiveSupportのtry!
と似ているが、メソッド名が必須。
2.3移行から使用可能で、safe navigation operator、別名ぼっち演算子
と呼ぶらしい。。。
メリット
nilチェック時に過剰なネストが深くなる問題を回避することができる
他の言語のNull条件演算子
C#, Swift, Kotolin
?.
, C#は?[]
をサポートする
Perl
`.?'と?が後に来るパターン
Ruby
&.
Rubyだけ&
なのは、メソッド名に?
が使用可能だからだろうか... だからぼっち?
多言語もやってるとたまに何だこれってなることがたまにあるので、可読性とメリットと兼ね合わせて使うかどうかはケースバイケースにはなりそうな演算子だと感じました。
余談
全く関係ないのだけれど、ぼっちといえば、今季のアニメの「ひとりぼっちの○○生活」を連想してしまいましたw 人見知りの中学生が少しづつ友達を作っていくお話で、結構癒やされてます。
Amazon Prime等でも配信中ですので、リンクを貼っておきます。