Ich möchte ein neues Paar zu Hash I do hinzufügen:
{:a => 1, :b => 2}.merge!({:c => 3}) #=> {:a => 1, :b => 2, :c => 3}
Gibt es eine ähnliche Möglichkeit, einen Schlüssel aus Hash zu löschen?
Das funktioniert:
{:a => 1, :b => 2}.reject! { |k| k == :a } #=> {:b => 2}
aber ich würde erwarten, dass es so etwas wie:
{:a => 1, :b => 2}.delete!(:a) #=> {:b => 2}
Es ist wichtig, dass der zurückgegebene Wert der verbleibende Hashwert ist, so dass ich Dinge wie tun könnte:
foo(my_hash.reject! { |k| k == my_key })
in einer Zeile.