【发布时间】:2017-10-22 12:47:39
【问题描述】:
我想在 Lua 中创建一个单独的文件 myclass.lua 中的 MyClass 类,以后可以导入和使用。
它应该按以下方式工作:
local MyClass = require 'myclass'
tab = {1,2,3}
m = MyClass(tab)
但是,按照 Lua 文档中的代码,我无法使其正常工作,并且出现错误 attempt to call global 'MyClass' (a table value)。
到目前为止我为 myclass.lua 编写的代码:
local MyClass = {}
MyClass.__index = MyClass
function MyClass.__init(tab)
self.tab = tab or {}
setmetatable({},MyClass)
return self
end
return MyClass
有很多示例如何在 Lua 中编写类,但我认为我不了解其中的区别,因此迷失在实现细节中。有或多或少的传统方法吗?
【问题讨论】:
标签: lua lua-table meta-method