Ich werde Wert definieren. Aber dieser Wert kann im Wert des Schlüssels des Hashes sein. Ich verwende Rettung für definieren Wert ist Null, wenn dieser Schlüssel nicht existiert. zum BeispielWarum sollten wir vermeiden, Rettung in seiner Modifikatorform zu verwenden?
foo = bar[:a][:b][:c] rescue nil
Aber in der Praxis sagen Sie mir schlechten Stil, weil ich in seiner Modifikator Form mit Rettung. Ich werde die Logik ändern, um die Check-Drei-Bedingung zu verwenden.
foo = bar[:a][:b][:c] if bar.key?(:a) && bar[:a].key?(:b) && bar[:a][:b].key?(:c)
Ich möchte wirklich wissen, warum sollten wir in Schienen mit Rettungs in seiner Modifikator Form vermeiden?
Es ist erwähnenswert, dass es, obwohl es einen schlechten Stil ist, legitime Anwendungen dafür gibt. –