Ruby Oneline Rescue

Niedawno dowiedziałem się, że możesz użyćrescue na linii kodu na wypadek, gdyby coś poszło nie tak (patrzhttp://www.rubyinside.com/21-ruby-tricks-902.html Porada 21). Mam kod, który kiedyś wyglądał tak:

if obj['key'] && obj['key']['key2'] && obj['key']['key2']['name']
  name = obj['key']['key2']['name']
else
  name = ''
end

Zrescue metoda, wierzę, że mogę zmienić ten kod na coś takiego:

name = obj['key']['key2']['name'] rescue ''

Jeśli zerowy wyjątek zostanie rzucony na dowolnym poziomie dostępu do skrótu, powinien zostać złapany przez ratunek i dać mi '', czego chcę. Mogę też wybrać ustawienie nazwy nanil jeśli to było pożądane zachowanie.

Czy istnieje jakieś znane niebezpieczeństwo? Pytam, ponieważ wydaje się to zbyt piękne, aby mogło być prawdziwe. Mam tak brzydki kod, że chciałbym się go pozbyć, który wygląda jak pierwszy przykład kodu.

questionAnswers(3)

yourAnswerToTheQuestion