我现在拥有的是这个功能:
function MyAddon:New()
local object = setmetatable({}, { __index = self })
object.elements = { }
object.lastAccess = os.time()
return object
end
现在,我想在每次从lastAccess
添加或删除某项时设置.elements
,而无需在添加/删除功能中手动设置。我该怎么办?
编辑:
@lhf和@Piglet谢谢。所以这意味着什么? (顺便说一下,这是我忘记提的双端队列)
function MyAddon:New()
local object = setmetatable({}, { __index = self })
object.lastAccess = 0
object.elements = { }
local _elements = object.elements
object.elements = { }
setmetatable(object.elements,
{
__index = function(t, k)
return _elements[k]
end,
__newindex = function(t, k, v)
object.lastAccess = os.time()
_elements[k] = v
end,
__mode = "kv",
})
return object
end
function MyAddon:GetLastAccess()
return self.lastAccess
end