【发布时间】:2017-11-20 23:47:50
【问题描述】:
我有一个这样定义的类:
local MyClass = {
_VERSION = 'MyClass 1.0.0'
}
MyClass.__index = MyClass
setmetatable(MyClass, {
__call = function (cls, ...)
return cls.new(...)
end
})
function MyClass.new(prop1)
local self = setmetatable({}, MyClass)
self.prop1 = prop1
return self
end
function MyClass:msg(txt)
self.prop1 = txt
print(self.prop1)
end
function MyClass:callFunc(func, ...)
pcall(func, ...)
end
我的客户端代码可能如下所示:
local inst = MyClass("value 1")
inst:msg("Hello world")
inst:callFunc(inst:msg, "Hello again")
当我运行此客户端代码时,我收到一条错误消息
函数参数应在 ',' 附近
代码是完全可重现的。您可以轻松查看here。只需复制粘贴并运行它,您将收到此错误消息。我该如何解决?
【问题讨论】:
-
它指向哪一行?
-
它指向我调用
callFunc的最后一行。顺便说一句,我自己解决了我的问题。我会在一分钟内发布解决方案
标签: unit-testing lua