diff options
Diffstat (limited to 'common/class.lua')
-rw-r--r-- | common/class.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/common/class.lua b/common/class.lua new file mode 100644 index 0000000..37cf7bd --- /dev/null +++ b/common/class.lua @@ -0,0 +1,23 @@ +local function class() + local T = {} + T.__index = T + return T +end + +local function extend(Base) + local T = {} + T.__index = T + for k,v in pairs(Base) do + if k:sub(1,2) == "__" and k~="__index" then + T[k]=v + end + end + setmetatable(T,{__index=Base}) +end + +return setmetatable({ + class=class, + extend=extend +},{__call=class}) + + |