lua好用的代码

-- 对比新增数据
function GameStyle:valueReplace( new,old )
for k,v in pairs(new) do
if type(v)=="table" then
old[k] = old[k] or {}
self:valueReplace(v,old[k] )
else
old[k] = v
end
end
end

--对比删除数据
function GameStyle:valueDelete( new , old )
for k,v in pairs(new) do
if type(v)=="table" then
old[k] = old[k] or {}
self:valueDelete(v,old[k] )
else
if v == 1 then
old[k]=nil
end
end
end
end
--对比数据是否发生变化
function GameStyle:checkDataChange(lastData,curData)
-- dump(lastData)
for k,v in pairs(lastData) do
if curData==nil or curData[k]==nil then
return false
end
if type(v)=="table" then
if not self:checkDataChange(v,curData[k]) then
return false
end
else
if v ~= curData[k] then
return false
end
end
end

for k,v in pairs(curData) do
if lastData == nil or lastData[k]==nil then
return false
end
if type(v)=="table" then
if not self:checkDataChange(lastData[k],v) then
return false
end
else
if v ~= lastData[k] then
return false
end
end
end

return true
end
posted @ 2022-06-21 10:09  习惯了依赖你  阅读(140)  评论(0编辑  收藏  举报