`...` 和 `arg` 之间是否有什么差别?

在 Lua 5.1 中,...(vararg 运算符)被添加,取代了 arg 表。 像 arg 一样包含变量数目参数的表可以轻松地被创建 local arg = {...},并且具有比新的 vararg 运算符更多的用途。 我认为这背后一定有原因。尽管如此,我也找不到 vararg 运算符的任何用途。

点赞
用户2858170
用户2858170

...允许你立刻使用参数列表。这比先从表中获取参数更方便。它也更清晰,因为你不必从某个隐藏的arg变量中获取参数。

function myPrint(...)
  print("我打印:", ...)
end

而不是

function myPrint(...)
  print("我打印:", unpack(arg))
end
2021-07-12 12:59:57