Описание: Клонирует table
Пример использования:
Взято отсюда: https://gist.github.com/MihailJP/3931841
Lua:
function clone (t)
if type(t) ~= "table" then return t end
local meta = getmetatable(t)
local target = {}
for k, v in pairs(t) do
if type(v) == "table" then
target[k] = clone(v)
else
target[k] = v
end
end
setmetatable(target, meta)
return target
end
Lua:
local t = {name = 'User'}
local t2 = clone(t)
t2.name = 'TestUser'
print(t.name)
print(t2.name)
--[[
Output:
User
TestUser
]]