Ruby on Railsのtryでスッキリなコードが書ける!

Ruby on Railsのtryについてです!

tryとは?

tryは、オブジェクトがnilの場合はnilを返します。

オブジェクトがnil出ない場合は、オブジェクトメソッドが呼び出されます。

 

以下のようにunlessでnilでチェックした後、

値を返すという同等の処理が出来ます。

# 存在しない@num を使用する
unless @num.nil?
    @num.len
end

tryを使う場合は、以下のようになります。

# 存在しない@num を使用する
@num.try(:len)
# => nextがあればその値、なければnilが返ってくる

# @numにlenに3が入っていた場合
@num.try(:len)
# => 3が返ってくる

 

1行で簡潔に書けるのでとてもスッキリしますね。

便利なので使っていきたいですね(*^^*)

 

何か参考になれば幸いです(*^^*)