Я создаю сценарий 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. Вы можете найти его определение и использование здесь.