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