Eclipse 告诉我 ')' 应该位于 '=' 附近,但这肯定是不对的吗?这是我的代码:
Animator = Class{}
function Animator:init(statictilesize = true)
self.isTileSizeStatic = statictilesize
end
我很困惑。虽然我只使用 Lua 一个月,但我更喜欢使用 C++/C#/Python。也许我错过了一些东西。
最佳答案
好吧,显然我是一个彻底的 Lua Noob/被宠坏的 C++ Python 家伙。
Lua 不允许这样做。相反,在 init 或构造函数内部,放置:
argument = argument or defaultValue
如,
function Animator:init(statictilesize)
statictilesize = statictilesize or true
self.isTileSizeStatic = statictilesize
-- Yikes
end
编辑:我找到了一个更稳定的解决方案,因为我在第一个之后需要更多参数。
function Animator:init(booleanstatictilesize, totalanimationstates, totalanimationframes)
if booleanstatictilesize ~= false then
self.isTileSizeStatic = true
else
self.isTileSizeStatic = false
end
end
有点像是拼凑在一起的类型转换/检查。我可能是错的,我对这一切都是菜鸟。我从未接受过正规的编程教育。我可能听起来像个白痴。
关于function - Lua,设置默认函数参数值。这不会有错吧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790501/