Ruby - Accede al hash multidimensional y evita el acceso al objeto nulo [duplicar]

Posible duplicado:
Ruby: Nils en una declaración IF
¿Hay una forma limpia de evitar llamar a un método en nil en un hash de parámetros anidados?

Digamos que trato de acceder a un hash como este:

<code>my_hash['key1']['key2']['key3']
</code>

Esto es bueno si key1, key2 y key3 existen en los hash (es), pero ¿qué pasa si, por ejemplo, key1 no existe?

Entonces obtendríaNoMethodError: undefined method [] for nil:NilClass. Y a nadie le gusta eso.

Hasta ahora me ocupo de esto haciendo un condicional como:

if my_hash['key1'] && my_hash['key1']['key2'] ...

¿Es esto apropiado? ¿Hay alguna otra forma más Rubiest de hacerlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta