1
2
3
4
5
2
3
4
5
tbl={lol=1,lmao=0,rofl=1} newtbl={lol=0,lmao=0,rofl=0} for key,value in pairs(tbl) do 	newtbl.key=value end
tbl={lol=1,lmao=0,rofl=1} newtbl={lol=0,lmao=0,rofl=0} for key,value in pairs(tbl) do 	newtbl.key=value end
newtbl=tbl
function CopyTable(t) 	local copy={} 	for i=1,#t do 		copy[i]=t[i] 	end 	return copy end newtbl=CopyTable(tbl)
for key,value in pairs(tbl) do 	newtbl[key] = value end
function table.copy(t) 	local r = {} 	for k,v in pairs(t) do 		if type(v) == "table" then 			r[k] = table.copy(v) 		else 			r[k] = v 		end 	end 	return r end
function table.deepcopy(t) local r = {} for k,v in pairs(t) do if type(v) == "table" then r[k] = table.copy(v) else r[k] = v end end setmetatable(r,getmetatable(t)) return r end
function table.copy(a,b) 	for k, v in pairs(a) do 		if type(v) == "table" then 			if not b[k] or (b[k] and type(b[k]) ~= "table") then 				b[k] = table.clone(v) 			elseif b[k] and type(b[k]) == "table" then 				table.copy(v, b[k]) 			end 		elseif type(v) == "function" then 			b[k] = loadstring(string.dump(v)) 		else 			b[k] = v 		end 	end 	return b end function table.clone(t) 	return table.copy(t, {}) end
myTab = {asd = 123} secondTab = {} table.copy(myTab, secondTab) print(secondTab.asd)
New(v)
tbl={lol=1,lmao=0,rofl=1} newtbl=tbl
function merge(t1,t2,bool) 	for k, v in pairs(t2) do 		if type(v)=="table" and type(t1[k] or false)=="table" then 			merge(t1[k],t2[k]) 		else 			if not bool or bool and t1[k]==nil then 				t1[k]=v 			end 		end 	end 	return t1 end
a={ 	["index_one"]={"epic"}, 	["index_2"]=12, 	"4"=true } b={ 	["xD"]={":("}, 	["lol"]="ala", 	"4"=false }
c=merge(a,b,false) 	--c now equals 	--[[ 	{ 		["index_one"]={"epic"}, 		["index_2"]=12, 		["xD"]={":("}, 		["lol"]="ala", 		4=true 	} 	--]]
c=merge(a,b,true)
tbl={lol=1,lmao=0,rofl=1} newtbl=tbl
a={ 		1="a", 		["s"]="d" 	} 	b=a
a = {1,2,3} b = a print(a[1]) -> 1 b[1]=2 print(b[1]) -> 2 print(a[1]) -> 2
function deepcopy(object) 	local lookup_table = {} 	local function _copy(object) 		if type(object) ~= "table" then 			return object 		elseif lookup_table[object] then 			return lookup_table[object] 		end 		local new_table = {} 		lookup_table[object] = new_table 		for index, value in pairs(object) do 			new_table[_copy(index)] = _copy(value) 		end 		return setmetatable(new_table, getmetatable(object)) 	end 	return _copy(object) end