codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
local class_mt = { __name = "class"; } function class_mt:__call(...) local obj = setmetatable({}, self) if type(obj.__init) == 'function' then obj:__init(...) end return obj end function class_mt:__tostring() return 'class ' .. self.__name end local function obj__tostring() return "instance of " .. self.__name end return function(name, ...) assert(type(name) == 'string', 'Invalid class name') local class = setmetatable({ __name = name; __tostring = obj__tostring; __index = class; }, class_mt) for _, base in ipairs({...}) do for k, v in next, base do rawset(class, k, v) end end return class end
Private
[
?
]
Run code
Submit