On Apr 30, 2011, at 1:20 AM, Henk Boom wrote:
On 29 April 2011 19:09, uki<ukaszg@gmail.com> wrote:
local _M = {}
-- stolen from: https://github.com/kikito/middleclass/wiki/Private-stuff
local _private = setmetatable({}, {__mode = "k"})
--constructor
function _M:new(...)
local object = {}
-- do stuff
_private[object].privateField = 1
return object
end
Just beware of memory leaks pre-5.2 if the value contains a reference
to the object.
That applies to indirect references as well. If you want to always go through a proxy object, you are probably better off using a userdata and using its environment to point to the Lua table.