ruby数组拷贝问题
直接用 = 拷贝的话,拷贝的对象发生变化后原拷贝对象也会发生变化。用Array.new则没有这个问题。
http://ggse.iteye.com/blog/321050
值拷贝实例:
>> a=[1,2]
=> [1, 2]
>> b=Array.new(a)
=> [1, 2]
>> b.delete(1)
=> 1
>> b
=> [2]
>> a
=> [1, 2]
指针拷贝实例:
>> a=[1,2]
=> [1, 2]
>> b=a
=> [1, 2]
>> b.delete(1)
=> 1
>> b
=> [2]
>> a
=> [2]
ruby中数组用=号赋值是指针拷贝,需要注意一下,而不是像c或其他语言一样=默认是值拷贝。
好的心态+正确的方法
浙公网安备 33010602011771号