mirror of
https://github.com/leafo/moonscript.git
synced 2024-12-08 01:54:24 +00:00
139 lines
3.0 KiB
Lua
139 lines
3.0 KiB
Lua
local Hello
|
|
Hello = (function(_parent_0)
|
|
local _base_0 = {
|
|
hello = function(self)
|
|
return print(self.test, self.world)
|
|
end,
|
|
__tostring = function(self)
|
|
return "hello world"
|
|
end
|
|
}
|
|
_base_0.__index = _base_0
|
|
if _parent_0 then
|
|
setmetatable(_base_0, getmetatable(_parent_0).__index)
|
|
end
|
|
local _class_0 = setmetatable({
|
|
__init = function(self, test, world)
|
|
self.test, self.world = test, world
|
|
return print("creating object..")
|
|
end
|
|
}, {
|
|
__index = _base_0,
|
|
__call = function(mt, ...)
|
|
local self = setmetatable({}, _base_0)
|
|
mt.__init(self, ...)
|
|
return self
|
|
end
|
|
})
|
|
_base_0.__class = _class_0
|
|
return _class_0
|
|
end)()
|
|
local x = Hello(1, 2)
|
|
x:hello()
|
|
print(x)
|
|
local Simple
|
|
Simple = (function(_parent_0)
|
|
local _base_0 = {
|
|
cool = function(self)
|
|
return print("cool")
|
|
end
|
|
}
|
|
_base_0.__index = _base_0
|
|
if _parent_0 then
|
|
setmetatable(_base_0, getmetatable(_parent_0).__index)
|
|
end
|
|
local _class_0 = setmetatable({
|
|
__init = function(self, ...)
|
|
if _parent_0 then
|
|
return _parent_0.__init(self, ...)
|
|
end
|
|
end
|
|
}, {
|
|
__index = _base_0,
|
|
__call = function(mt, ...)
|
|
local self = setmetatable({}, _base_0)
|
|
mt.__init(self, ...)
|
|
return self
|
|
end
|
|
})
|
|
_base_0.__class = _class_0
|
|
return _class_0
|
|
end)()
|
|
local Yikes
|
|
Yikes = (function(_parent_0)
|
|
local _base_0 = { }
|
|
_base_0.__index = _base_0
|
|
if _parent_0 then
|
|
setmetatable(_base_0, getmetatable(_parent_0).__index)
|
|
end
|
|
local _class_0 = setmetatable({
|
|
__init = function(self)
|
|
return print("created hello")
|
|
end
|
|
}, {
|
|
__index = _base_0,
|
|
__call = function(mt, ...)
|
|
local self = setmetatable({}, _base_0)
|
|
mt.__init(self, ...)
|
|
return self
|
|
end
|
|
})
|
|
_base_0.__class = _class_0
|
|
return _class_0
|
|
end)(Simple)
|
|
x = Yikes()
|
|
x:cool()
|
|
local Hi
|
|
Hi = (function(_parent_0)
|
|
local _base_0 = {
|
|
cool = function(self, num)
|
|
return print("num", num)
|
|
end
|
|
}
|
|
_base_0.__index = _base_0
|
|
if _parent_0 then
|
|
setmetatable(_base_0, getmetatable(_parent_0).__index)
|
|
end
|
|
local _class_0 = setmetatable({
|
|
__init = function(self, arg)
|
|
return print("init arg", arg)
|
|
end
|
|
}, {
|
|
__index = _base_0,
|
|
__call = function(mt, ...)
|
|
local self = setmetatable({}, _base_0)
|
|
mt.__init(self, ...)
|
|
return self
|
|
end
|
|
})
|
|
_base_0.__class = _class_0
|
|
return _class_0
|
|
end)()
|
|
Simple = (function(_parent_0)
|
|
local _base_0 = {
|
|
cool = function(self)
|
|
return _parent_0.cool(self, 120302)
|
|
end
|
|
}
|
|
_base_0.__index = _base_0
|
|
if _parent_0 then
|
|
setmetatable(_base_0, getmetatable(_parent_0).__index)
|
|
end
|
|
local _class_0 = setmetatable({
|
|
__init = function(self)
|
|
return _parent_0.__init(self, "man")
|
|
end
|
|
}, {
|
|
__index = _base_0,
|
|
__call = function(mt, ...)
|
|
local self = setmetatable({}, _base_0)
|
|
mt.__init(self, ...)
|
|
return self
|
|
end
|
|
})
|
|
_base_0.__class = _class_0
|
|
return _class_0
|
|
end)(Hi)
|
|
x = Simple()
|
|
x:cool()
|
|
print(x.__class == Simple) |