我正在创建一个应该在 TI-Nspire 计算器上运行的 lua 脚本。问题是在运行我的脚本时出现错误Attempt to index local 'self' (a nil value)
当。。。的时候button:activate()
方法被调用。解析器指出错误出现在下面代码的第 8 行。有问题的代码如下:
button = class(view)
function button:init()
self.selected = false
end
function button:activate()
self.selected = true
end
我这样调用激活函数:
item = button()
local action = "activate"
local arguments = {}
item[action](unpack(arguments))
我知道class()
函数不存在于“stock”Lua 中,它是 TI-Nspire Lua 实现中可用的函数。你可以找到它的定义和用法here.
obj:methodname(args)
是糖吗obj.methodname(obj,args)
。所以,如果你想使用语法item[action](unpack(arguments))
,你需要使用item[action](item,unpack(arguments))
。否则,请尝试item:activate(unpack(arguments))
如果你可以明确地使用方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)