|
|
-- local setmetatable = setmetatable
|
|
|
|
-- local _slot = {}
|
|
-- setmetatable(_slot, _slot)
|
|
|
|
-- _slot.__call = function(self, ...)
|
|
-- if nil == self.obj then
|
|
-- return self.func(...)
|
|
-- else
|
|
-- return self.func(self.obj, ...)
|
|
-- end
|
|
-- end
|
|
|
|
-- _slot.__eq = function (lhs, rhs)
|
|
-- return lhs.func == rhs.func and lhs.obj == rhs.obj
|
|
-- end
|
|
|
|
-- --可用于 Timer 定时器回调函数. 例如Timer.New(slot(self.func, self))
|
|
-- function slot(func, obj)
|
|
-- local st = {func = func, obj = obj}
|
|
-- setmetatable(st, _slot)
|
|
-- return st
|
|
-- end
|