Zdefiniuję wartość. Ale ta wartość może mieć wartość klucza hasza. Będę używał ratunkowej dla zdefiniowania wartości jest zerowej, jeśli te klucze nie istnieją. npDlaczego powinniśmy unikać używania ratunku w jego formie modyfikatora?
foo = bar[:a][:b][:c] rescue nil
Jednak w praktyce mi zły styl, bo ja za pomocą na ratowanie w formie modyfikatora. Zmienię logikę, aby użyć warunku sprawdzenia trzech.
foo = bar[:a][:b][:c] if bar.key?(:a) && bar[:a].key?(:b) && bar[:a][:b].key?(:c)
Naprawdę chciałbym wiedzieć, dlaczego powinniśmy unikać ratunku w postaci modyfikatora w szynach?
Warto zauważyć, że choć jest to zły styl, istnieją dla niego uzasadnione zastosowania. –