W
Wu Xiaoyi
Hello,
mainarray=Hash.new(0)
subarray=Hash.new(0)
thirdarray={
'a' => '0',
'b' => '0',
'c' => '0',
}
subarray['first']=thirdarray.dup
subarray['second']=thirdarray.dup
mainarray['x']=subarray.dup
mainarray['y']=subarray.dup
mainarray['x']['first']['c']=56
mainarray['y']['first']['c']=73
p mainarray
the result is:
{"x"=>{"second"=>{"a"=>"0", "b"=>"0", "c"=>"0"}, "first"=>{"a"=>"0",
"b"=>"0", "c"=>73}},
"y"=>{"second"=>{"a"=>"0", "b"=>"0", "c"=>"0"}, "first"=>{"a"=>"0",
"b"=>"0", "c"=>73}}}
Why did the mainarray['x']['first']['c'] become 73,too?
dup does not work if I use it twice?
mainarray=Hash.new(0)
subarray=Hash.new(0)
thirdarray={
'a' => '0',
'b' => '0',
'c' => '0',
}
subarray['first']=thirdarray.dup
subarray['second']=thirdarray.dup
mainarray['x']=subarray.dup
mainarray['y']=subarray.dup
mainarray['x']['first']['c']=56
mainarray['y']['first']['c']=73
p mainarray
the result is:
{"x"=>{"second"=>{"a"=>"0", "b"=>"0", "c"=>"0"}, "first"=>{"a"=>"0",
"b"=>"0", "c"=>73}},
"y"=>{"second"=>{"a"=>"0", "b"=>"0", "c"=>"0"}, "first"=>{"a"=>"0",
"b"=>"0", "c"=>73}}}
Why did the mainarray['x']['first']['c'] become 73,too?
dup does not work if I use it twice?