我试图将不同的函数存储在一个表中,但不知何故它不会像我想象的那样工作。这是我的“代码”
fn_table = { aFun1=print, aFun2=self:getSpeedLevel, aFun3=.... }
现在的问题是我可以使用内置函数来做到这一点print
,assert
等等,但它不适用于我拥有的其他函数。
我收到错误消息:“... '}' 附近预期的函数参数
是否也可以存储这些功能?
aFun2 = self:getSpeedLevel
是一个语法错误,这就是 Lua 所抱怨的。尝试aFun2 = getSpeedLevel
或aFun2 = self.getSpeedLevel
(假设这self
是一张桌子)。PiL 书中的面向对象编程章节有更多存储在表中的函数示例。