爲什麼這些代碼片段的行爲不同?我以爲他們應該做同樣的事情...在數組中填充哈希行爲不同使用「var」而不是:var - 爲什麼?
foo = {}
array = []
foo['a'] = "1"
foo['b'] = "2"
array << foo
foo['a'] = "3"
foo['b'] = "4"
array << foo
output => [{"a"=>"3", "b"=>"4"}, {"a"=>"3", "b"=>"4"}]
這不是我想要的。幸運的是,我嘗試使用這種格式,它的工作原理:
foo = {}
array = []
foo = {
:a => "1",
:b => "2"
}
array << foo
foo = {
:a => "3",
:b => "4"
}
array << foo
output => [{:a=>"1", :b=>"2"}, {:a=>"3", :b=>"4"}]
這是怎麼回事?
謝謝;我總是會忘記那個done的.clone方法。 – MorningHacker