Function Lua:函数表
我试图在一个表中存储不同的函数,但不知怎么的,它不会像我想象的那样工作。这是我的“密码”Function Lua:函数表,function,lua,lua-table,Function,Lua,Lua Table,我试图在一个表中存储不同的函数,但不知怎么的,它不会像我想象的那样工作。这是我的“密码” fn_table = { aFun1=print, aFun2=self:getSpeedLevel, aFun3=.... } 现在的问题是,我可以使用内置函数,如print、assert等来实现这一点,但它无法与我拥有的其他函数一起工作 我得到错误:“…函数参数应在“}”附近” 也可以存储这些函数吗?aFun2=self:getSpeedLevel是一个语法错误,这正是Lua所抱怨的。请尝试aFun2
fn_table = { aFun1=print, aFun2=self:getSpeedLevel, aFun3=.... }
现在的问题是,我可以使用内置函数,如print
、assert
等来实现这一点,但它无法与我拥有的其他函数一起工作
我得到错误:“…函数参数应在“}”附近”
也可以存储这些函数吗?
aFun2=self:getSpeedLevel
是一个语法错误,这正是Lua所抱怨的。请尝试aFun2=getSpeedLevel
或aFun2=self.getSpeedLevel
(假设self
是一个表)。PiL书中的这一章有更多存储在表中的函数的示例。为了进一步澄清,冒号符号实际上只是点符号之外的语法糖。也就是说,self:getspeed()确实是self。getspeed(self)非常感谢您的评论-我在试图弄清楚self.func()的原因时简直疯了self:func()工作时不工作…顺便说一句,如果在调用aFun2时希望OO调用工作,则需要将其包装为函数(…)self:getSpeedLevel(…)end
。