Was ist der beste Weg, um einen Hash in Ruby zu duplizieren und unabhängig vom Original zu haben? Zum Beispiel:Duplicate-Hash in unabhängigen Hash (flache Kopie)
a = { foo1: "bar1" }
b = a # or b = a.clone/b = a.dup for that matter
b[:foo2] = "bar2"
Dies führt dazu:
{:foo1=>"bar1", :foo2=>"bar2"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
Wo ich es möchte
{:foo1=>"bar1"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
Jetzt zu sein weiß ich über b = Marshal.load(Marshal.dump(a))
aber das scheint wie ein wenig übertrieben, und ich Ich frage mich, ob es einen besseren Weg gibt, weil ich es nicht wirklich finden kann.
Es funktioniert für mich mit 'dup' ... –
Was? Jetzt macht es auch für mich. Ich habe alles versucht und nichts schien zu funktionieren ... Was ist das für eine Zauberei? :(Danke trotzdem. –