Здравствуйте!
Нужно скопировать таблицу, так, чтобы изменения сделанные в дубликате не отображались в оригинальном экземпляре.
Использую для этой цели рекурсивную функцию, но связь сохраняется.
Результат "Hi!". Я обескуражен.
Нужно скопировать таблицу, так, чтобы изменения сделанные в дубликате не отображались в оригинальном экземпляре.
Использую для этой цели рекурсивную функцию, но связь сохраняется.
| Код |
|---|
function main()
local t1={}
t1.x={}
t1.x.y=1
local t2=table_copy(t1)
t2.x.z="Hi!"
PrintDbgStr(""..t1.x.z)
end
function table_copy(originalTable)
local copyTable = {}
for k,v in pairs(originalTable) do
if (type(v)==table) then
copyTable[k]=table_copy(v)
else
copyTable[k] = v
end
end
return copyTable
end
|
Результат "Hi!". Я обескуражен.