文章目录
(1)Lua 深拷贝
当我们把一个table赋值给一个对象a的时候,其实是把引用赋值给它,所以我们改变这个对象a,其实等价于改变了table本身。我们想要完全得到一个table的副本的话,就需要进行深拷贝。
原文
function DeepCopy(t)
if nil==t then
return nil
end
local result={}
for k,v in pairs(t) do
if "table" == type(v) then
result[k]=DeepCopy(v)
else
result[k]=v
end
end
return result
end
实例: