DATA1 = [1,2]
DATA2 = [[2,2],[3,3]]
def asd
data0 = DATA1
data = data0.clone
p data # => [1,2]
for i in 0...data.size
data[i] *= 2
data[i] *= 3
end
p data0 # => [1,2] 一维数组还好
end
def sdf
data0 = DATA2
data = data0.clone # 或者dup结果也一样...
p data # => [[2,2],[3,3]]
for i in 0...data.size
data[i][0] *= 2
data[i][1] *= 3
end
p data0 # => [[4,6],[6,9]] 二维数组就不听话了...
# 聪希望像方法sdf那样,对data0克隆出来的数组data操作之后不影响data0的值,
# 即这里依旧是[[2,2],[3,3]],请问怎么样才能做到呢...
end
asd
sdf
DATA1 = [1,2]
DATA2 = [[2,2],[3,3]]
def asd
data0 = DATA1
data = data0.clone
p data # => [1,2]
for i in 0...data.size
data[i] *= 2
data[i] *= 3
end
p data0 # => [1,2] 一维数组还好
end
def sdf
data0 = DATA2
data = data0.clone # 或者dup结果也一样...
p data # => [[2,2],[3,3]]
for i in 0...data.size
data[i][0] *= 2
data[i][1] *= 3
end
p data0 # => [[4,6],[6,9]] 二维数组就不听话了...
# 聪希望像方法sdf那样,对data0克隆出来的数组data操作之后不影响data0的值,
# 即这里依旧是[[2,2],[3,3]],请问怎么样才能做到呢...
end
asd
sdf