今回はRailsのエラーハンドリングで役立つぼっち演算子(.&)とtry、try!メソッドについて紹介したいと思います。ぼっち演算子(.&)やtry、try!メソッドを用いることで、レシーバーがnilだった場合の処理をシンプルに記載することができるためとても便利です。operator」となります。この記事の内容ぼっち演算子(.&)とは使い方ぼっち演算子を使うと何が良いのか注意点tryメソッドとはtry!メソッドとは結局どれを使えば良いのかまとめ参考ぼっち演算子(.&)とはぼっち演算子とは、レシーバーがnilだった場合にNoMethodErrorを返さず、nilを返してくれる機能になります。ぼっち演算子はRuby2.3で実装された機能で「&.」と記述することができます。以下のようなユーザーの名前を取得するコードがあるとします。user.nameuserがnilだった場合、NoMethodErrorエラーが出力されてしまいます。nil:NilClass)一方でぼっち演算子を使用すると、エラーを出力せずnilを返してくれるようになります。nilぼっち演算子を使うと何が良いのか例えばuserがnilではなかった場合、そのuserの名前を出力したいとします。この場合、何も考えずに書くと以下のようなコードになります。これだけの処理で3行も記述されてしまっていますね。user.nameendしかし上記のような処理の場合、ぼっち演算子を用いることで以下のようなシンプルなコードに修正することができます。user&.nameこのようにぼっち演算子を用いることで、レシーバーがnilかどうかで条件分岐しなくて済むためコード量を抑えることができます。注意点ぼっち演算子を用いることでエラーではなくnilを返すことができますが、メソッドがそもそも存在しない場合(定義されていない場合)は変わらずエラーを返してしまいます。"user":String)tryメソッドとはtryメソッドとは、レシーバーがnilだった場合やメソッドが存在しない(定義されていない)場合に、NoMethodErrorを返さずnilを返してくれるメソッドになります。niltry!メソッドとはtry!メソッドとは、レシーバーがnilだった場合にNoMethodErrorを返さず、nilを返してくれるメソッドになります。お気づきかもしれませんが、ぼっち演算子と同じ機能になります。"user":String)結局どれを使えば良いのかここまででぼっち演算子とtry、try!メソッドの3つについて紹介しました。どれも似たような機能でしたが、実際にはどれを使えば良いのでしょうか。結論、ぼっち演算子を使用するようにしましょう。理由としては以下になります。バグに気がつかない」といった場面が想定されます。そのため、tryメソッドの使用はできるだけ避けた方が無難です。今回はRailsのエラーハンドリングで役立つぼっち演算子(.&)とtry、try!メソッドについて紹介しました。user.present?」のような冗長な記述をしている箇所は、ぼっち演算子(.&)に置き換えるよう修正しましょう。yoshi19941117TechTechMedia【Rails】配列・ハッシュから安全に値を取り出すことができるdigメソ...【Rails】RuboCop1.23でOpenStructの使用を監視す...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。