689 Stimmen

Wie entfernt man einen Schlüssel aus einem Hash und erhält den verbleibenden Hash in Ruby/Rails?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X