function - Lua,设置默认函数参数值。这不会有错吧?

标签 function parameters lua default-value expected-exception

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/

相关文章:

function - 如何为 D 中函数的引用参数创建默认值?

javascript - 这在 JavaScript 函数中指的是什么?

javascript - 简单的 Node.js 故障排除 - 从 app.get() 接收 404

c - 未定义对 crcsum 的引用(unsigned char const*,unsigned long,unsigned short)

parameters - Lua:使用pcall

lua - 链 Lua 元表

jquery - 命名参数 jQuery 函数

python - "i"语句中的 "for"变量在函数内部有效吗?

ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL?

java - 限制方法参数值