|
楼主 |
发表于 2011-9-13 15:36:01
|
显示全部楼层
弱弱的问一句table是啥。。。
我有个名称为class.lua的文件 一直没看懂,不知道是不是传说中的table
local _class = {}
function class(super)
local class_type = {}
class_type.ctor = false
class_type.super = super
class_type.new =
function(...)
local obj = {}
do
local create
create =
function(c, ...)
if c.super then
create(c.super, ...)
end
if c.ctor then
c.ctor(obj, ...)
end
end
create(class_type, ...)
end
setmetatable(obj, { __index = _class[class_type] })
return obj
end
local vtbl = {}
_class[class_type] = vtbl
setmetatable(class_type, { __newindex =
function(t, k, v)
vtbl[k] = v
end
})
if super then
setmetatable(vtbl, { __index =
function(t,k)
local ret = _class[super][k]
vtbl[k] = ret
return ret
end
})
end
return class_type
end |
|