Ruby - Uzyskaj dostęp do wielowymiarowego skrótu i unikaj dostępu do obiektu nil [duplikat]
Możliwy duplikat:
Ruby: Nils w instrukcji IF
Czy istnieje czysty sposób na uniknięcie wywołania metody na zero w zagnieżdżonym skrócie params?
Powiedzmy, że próbuję uzyskać dostęp do skrótu w następujący sposób:
<code>my_hash['key1']['key2']['key3'] </code>
Jest to miłe, jeśli klucz 1, klucz 2 i klucz 3 istnieją w hashach, ale co, jeśli na przykład klucz1 nie istnieje?
Wtedy dostanęNoMethodError: undefined method [] for nil:NilClass
. I nikt tego nie lubi.
Do tej pory zajmuję się tym, co robię warunkowo:
if my_hash['key1'] && my_hash['key1']['key2']
...
Czy jest to właściwe, czy istnieje jakikolwiek inny najbardziej rubestyczny sposób?