最近使っていて便利だと思ったtryメソッド

これを初めて使った時率直にすげえーと思いました。今後使うことも多くなるだろうなと思い備忘録として簡単にまとめておきます。

try はメソッドが nil でなければ指定したメソッドを呼び出します。

例えば、よくありがちなuser.email としたいときに user.try(:email) みたいにして使います。

思い返してほしいのですが、 user.email としたときに email が nil の場合でuser.nilと成ってしまい、NoMethodErrorが出てしまうことって多々あると思うのですが。 Object#try メソッドを使えば華麗にこの問題を回避することができます。

tryメソッドのコード例

user.try(:email) || '本来はnil'

=>emailが存在する時にはuser.emailとなり,userがnilの場合は'本来はnil'と表示されます。

参考//www.techscore.com