local clear = require("table.opt.clear")local caches = require("optimize.cache")---数据变更local change = {}---事务提交---@param chgs table|nil @修改---@return table @返回修改记录return function(chgs)if not chgs thenchgs = clear(change)for t, ret in pairs(caches) dolocal met = getmetatable(ret)local chg = met.__newindex ---记录修改local ori = met.__index ---原始数据local emt = met.__empty ---忽略数据for k, v in pairs(chg) do---值一样删除记录if ori[k] == v thenchg[k] = nilendif v ~= emt thenori[k] = velse---删除视同nil的子弹ori[k] = nilendendcaches[t] = nilchange[t] = chgendendreturn chgsend
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。