try
método é uma Object
extensão de ActiveSupport
. É útil em alguns casos (por exemplo, chamadas em cadeia). Geralmente é usado para chamar um método em um objeto se ele existir ou retornar nil se não existir, em vez de lançar uma exceção ( NoMethodError
):
>> object.try(:nonexistent_method)
=> nil
O uso com hashes é menos intuitivo:
>> hash = { a: 1, b: 2 }
=> {:a=>1, :b=>2}
>> hash.try(:a)
=> nil
>> hash.try(:[], :a)
=> 1