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))
この関数は「ストック」Luaには存在しないことを認識してclass()います。これは、TI-NspireLuaの実装で使用できる関数です。その定義と使用法はここにあります。