Итак, я пытаюсь написать простой класс в Lua для представления CSV поля:попытка вызвать метод «печать» (нилъ значение), когда ООП реализации в Lua
csv_entry = {}
csv_entry.__index = csv_entry
function csv_entry.create(...)
return arg
end
function csv_entry:tostring()
local str = string.char()
for i,v in ipairs(self) do
if i < #self then
str = str .. v
else
str = str .. v .. ", "
end
end
end
function csv_entry:print()
print(self:tostring())
end
Но когда я пытаюсь использовать этот класс, как это:
c = csv_entry.create("Volvo", 10000, "Eric")
c:print() -- line 25
Я получаю сообщение об ошибке
lua: csv.lua:25: attempt to call method 'print' (a nil value)
И я не могу понять этот вопрос здесь. Что я делаю не так?
Ваша функция 'create' похоже, ничего не делает. Он возвращает 'arg', что равно нулю. Или есть что-то еще, что вы не показываете? –