Возможный дубликат:
Ruby: Нильс в заявлении IF
Есть ли чистый способ избежать вызова метода на nil во вложенном параметре hash?
Скажем, я пытаюсь получить доступ к хэшу следующим образом:
my_hash['key1']['key2']['key3']
Это хорошо, если в хэше (es) существуют ключевые1, key2 и key3, но что, если, например, key1 не существует?
Тогда я получил бы NoMethodError: undefined method [] for nil:NilClass
. И никто не любит это.
До сих пор я занимаюсь этим выполнением условного типа:
if my_hash['key1'] && my_hash['key1']['key2']
...
Это уместно, есть ли другой способ Rubiest?