のんびりSEの議事録

プログラミング系のポストからアプリに関してのポストなどをしていきます。まれにアニメ・マンガなど

Rubyのぼっち演算子(Null条件演算子)について調べてみた

Rubyをやっている時に、見かけない演算子&.があったので調べてみました。

書き方

object&.method

用途

objectがnilじゃない場合にメソッドを呼び出す。ActiveSupporttry!と似ているが、メソッド名が必須。

docs.ruby-lang.org

2.3移行から使用可能で、safe navigation operator、別名ぼっち演算子と呼ぶらしい。。。

メリット

nilチェック時に過剰なネストが深くなる問題を回避することができる

他の言語のNull条件演算子

ja.wikipedia.org

C#, Swift, Kotolin

?., C#?[]をサポートする

Perl

`.?'と?が後に来るパターン

Ruby

&.

Rubyだけ&なのは、メソッド名に?が使用可能だからだろうか... だからぼっち?

多言語もやってるとたまに何だこれってなることがたまにあるので、可読性とメリットと兼ね合わせて使うかどうかはケースバイケースにはなりそうな演算子だと感じました。

余談

全く関係ないのだけれど、ぼっちといえば、今季のアニメの「ひとりぼっちの○○生活」を連想してしまいましたw 人見知りの中学生が少しづつ友達を作っていくお話で、結構癒やされてます。

Amazon Prime等でも配信中ですので、リンクを貼っておきます。

www.amazon.co.jp

anime.dmkt-sp.jp