Rubyでハッシュを複製し、元のものから独立させる最良の方法は何ですか?たとえば、次のように独立したハッシュ(浅いコピー)に重複したハッシュ
a = { foo1: "bar1" }
b = a # or b = a.clone/b = a.dup for that matter
b[:foo2] = "bar2"
これは、その結果:
私はそれが{:foo1=>"bar1"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
ようにしたいと思い
{:foo1=>"bar1", :foo2=>"bar2"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
今、私はおよそb = Marshal.load(Marshal.dump(a))
を知っているが、それは少しやり過ぎのように思える、とI私は本当にそれを見つけることができないので、より良い方法があるかどうか疑問に思っていた。
それは 'dup'と私のために働く... –
何?今それは私のためにもあります。私はすべてを試したし、何も動作していないようだ...この魔法は何だ! :( とにかくありがとう。 –