Я создаю скрипт lua, который должен запускаться на калькуляторе TI-Nspire.Проблема в том, что во время выполнения моего скрипта я получаю ошибку 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()
не существует в "штатном" Luaэто функция, доступная в реализации TI-Nspire Lua.Вы можете найти его определение и использование здесь .