Ich lerne Hash in Ruby. Ich versuche, einen Hash zu wiederholen, ohne es einer Variablen zuzuweisen und seine Elemente zu löschen. {a: 1, b: 2, c: "Hello"}.each{|k,v| self.delete(k)}
. Ich erhalte diese FehlerElement mit Schlüssel in Hash mit Selbst löschen
2.3.0 :001 > {a: 1, b: 2, c: "Hello"}.each {|k,v| self.delete(k)}
NoMethodError: undefined method `delete' for main:Object
from (irb):1:in `block in irb_binding'
from (irb):1:in `each'
from (irb):1
from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `<main>'
Ich habe auch versucht self
mit this
zu ersetzen, aber es hat nicht funktioniert nicht. Kann ich trotzdem Hash-Methoden verwenden (wie delete
), ohne den Hash einer Variablen zuzuordnen (wie hash_var.each {|k,v| hash_var.delete(k)}
)? Ich benutze c9 IDE.
Ich möchte mit Hash spielen. In einem Beispiel ist "Nummer = {a: 1, b: 2, c: 3}"; number.each {| k, v | number.delete (k) wenn v <3} '. Ich denke, vielleicht kann ich dasselbe tun, indem ich direkt mit {a: 1, b: 2, c: 3} arbeite, anstatt den Hash einer Variablen zuzuweisen. –