什麼是在Ruby中複製散列的最佳方式,並使它獨立於原始散列?例如:重複散列到獨立散列(淺拷貝)
a = { foo1: "bar1" }
b = a # or b = a.clone/b = a.dup for that matter
b[:foo2] = "bar2"
這導致:
{:foo1=>"bar1", :foo2=>"bar2"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
在哪裏,我想它是
{:foo1=>"bar1"} # a
{:foo1=>"bar1", :foo2=>"bar2"} # b
現在我知道b = Marshal.load(Marshal.dump(a))
但是,似乎有點矯枉過正,和我想知道是否有更好的辦法,因爲我找不到它。
它適用於'dup'我... –
什麼?現在它也適用於我。我嘗試了一切,似乎沒有任何工作......這個巫術是什麼! :( 不管怎麼說,還是要謝謝你。 –