Независимо от того, как я приближаюсь Lua, я столкнулся с этой ошибкой все время, так что я не должен понять, что-то наследовать язык:попытка вызвать метод «FUNC» (нилъ значение)
попытка call method 'func' (значение nil)
Я видел ошибку здесь несколько раз, но проблема мне не кажется ясной.
Вот мой модуль:
actor.lua
Actor = {
x = 0,
mt = {},
new = function()
local new_actor = {}
new_actor.x = Actor.x
new_actor.mt = Actor.mt
return new_actor
end,
test = function(self, a, b)
print(a, b)
end
}
Я использую ЛЮБОВЬ.
main.lua
require "game/actor"
local a = Actor:new() --works fine
function love.load()
a.x = 10
print(a.x) --output: 10
a:test(11, 12) --error: attempt to call method 'test' (a nil value)
end
Я также не уверен, когда это уместно использовать предыдущий стиль из-за этого в модуле.
Actor = {
x = 0
}
Actor.mt = {}
function Actor.new()
print(42)
end
Я честно не уверен, что более правильно, чем другие, но учитывая, что я работать в простой ошибки в любом случае, там, наверное, что-то я совсем не хватает?
Я отредактировал его, чтобы немного почистить его, в то время как вы сделали свое редактирование, вызывая конфликт, поэтому я просто вернул переменную переменную FYI. – Ajean