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 способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос