Итак, я создаю систему для Lua, поэтому я могу иметь в ней классы и объекты. У меня есть создание объектов вниз, проблема заключается в создании конструкторов.Использование объектов в Lua
У меня есть конструкторы, как это:
a = MyClass:Create("Hello World!")
создать метод имеет ... в качестве аргументов, которые он проходит по методу конструктора (OnStart). Я могу просто прочитать аргументы в методе Create, но когда OnStart вызывается, аргумент каким-то образом оказывается ноль вместо «Hello World!».
Мой код:
Object = { }
function Object:Create(...)
local instance = { }
setmetatable(instance, self)
self.__index = self
instance.Type = Object
-- Now we can call the constructor.
local arg = { ... }
instance.OnStart(table.unpack(arg))
return instance
end
function Object:OnStart(msg)
print(msg)
end
test = Object:Create("Hello World!")
print(test:ToString())
Некоторые, как в данном случае тзд аргумент заканчивает тем, что ноль ...