Ruby - доступ к многомерному хешу и отказ от доступа к nil-объекту [duplicate]
Possible Duplicate:
Ruby: Nils in an IF statement
Is there a clean way to avoid calling a method on nil in a nested params hash?
Допустим, я пытаюсь получить доступ к хешу, например так:
<code>my_hash['key1']['key2']['key3'] </code>
Это хорошо, если key1, key2 и key3 существуют в хешах, но что если, например, key1 не существует?
Тогда я бы получилNoMethodError: undefined method [] for nil:NilClass
, И никому это не нравится.
До сих пор я имею дело с этим, делая условно, как:
if my_hash['key1'] && my_hash['key1']['key2']
...
Это уместно, есть ли другой Ruby способ сделать это?