--深度拷貝Table function DeepCopy(obj) local InTable = {}; local function Func(obj) if type(obj) ~= "table" then --判斷表中是否有表 return obj; end local NewTable = {}; --定義一個新表 InTable[obj] = NewTable; --若表中有表,則先把表給InTable,再用NewTable去接收內嵌的表 for k,v in pairs(obj) do --把舊錶的key和Value賦給新表 NewTable[Func(k)] = Func(v); end return setmetatable(NewTable, getmetatable(obj))--賦值元表 end return Func(obj) --若表中有表,則把內嵌的表也複製了 end