Ruby 2.3 で Safe Navigation Operator(&.)という新しい演算子が追加されました。 これは obj&.to_i という風にメソッド呼び出しのように使い、レシーバが nil の場合に nil を返します。 10&.to_s # => "10" nil&.to_s # nil このように nil チェックすることなく安全にメソッドを呼び出すことが出来ます。 #try Rails の ActiveSupport にも #try という似たようなメソッドが定義されています。 これはレシーバがメソッドが呼びだせる場合にそのメソッドを呼び出すというような処理になります。 また、レシーバが nil の場合は必ず nil を返します。 10.try(:to_s) # => "10" nil.try(:to_s) # => nil &. と #try の違い 両方とも『レシー