Я помещаю некоторый код в модуль, чтобы я мог рисовать и поддерживать несколько копий. Я получаю эту общую ошибку, но я не понимаю, почему. Я понимаю, что он говорит на базовом уровне, но, поскольку я могу видеть распечатку из создаваемой таблицы, я не понимаю, почему вызов функции, содержащейся в модуле, вызовет эту ошибку.
Я прочитал все ответы на SO, но все еще в растерянности. Я пытался распечатать на разных этапах, чтобы увидеть, где проблема, все работает так, как будто я создал экземпляр модуля, но ошибка сохраняется.
Код, приведенный ниже, очищен от посторонних предметов.
local orbitalCircle = include('lib/orbital_circle')
function init()
c1 = orbitalCircle.new(20, 42, 18, 1.7, 16, 62, 15, c1Sequence)
<-- at this point print code from the module's init function works
c1:doFunc(param) <-- this will call the error
Модуль:
local Orbital_Circle = {}
-- set up variables
local some Vars Are here
function Orbital_Circle.new(x, y, diameter, scale_factor, number_of_notes, beats_per_second, frames_per_second, sequence_data)
print("Orbital_Circle running")
end
function Orbital_Circle:doFunc(param)
self.var = param <-- I update a local var here
print("self.var") <-- I then print the updated number for sanity checking
end
return Orbital_Circle
Я ожидаю, что var в моем экземпляре этого модуля обновится и код функции запустится, но ... не радости. Я получаю ошибку.
Приветствие.