Thanks.
had implemented as this:
--
setmetatable(obj, {
__newindex = function (tab, k, v)
print('setting: ' .. k .. ' -> ' .. tostring(v))
rawset(tab, k, v)
end
})
which will only trigger the first setting for a new key:
self.data['foo'] = 'bar'
self.data['foo'] = 'next-bar’
—
any way, nice solution, thanks.
is there a way to intercept the settable_event?
want to implement kind of getter/setter observer for a table (similar to the KVO in Cocoa). Is there a way to do this in pure lua?
local realobj = {}
local obj = setmetatable({}, {
__index = realobj,
__newindex = function(self, k, v)
-- it's settable event for obj
realobj[k]=v
end,
})