function sum(...) end变态写法

动态 未结 0 154
小小草
小小草 LV1 2023年9月23日 23:40 发表
在 Lua 中,函数可以使用可变参数列表来接收任意数量的参数。通常情况下,我们会使用 ... 来表示可变参数列表。例如: ``` function sum(...) local total = 0 for i, v in ipairs({...}) do total = total + v end return total end ``` 这个函数可以接收任意数量的参数,并将它们相加返回总和。 但是,如果在函数定义时省略了参数名,那么在函数内部就无法直接访问这些参数。不过,可以通过特殊的全局变量 arg 来访问这些参数。arg 是一个表,其中包含了所有传入函数的参数。例如: ``` function sum(...) local total = 0 for i, v in ipairs(arg) do total = total + v end return total end ``` 这个函数与前面的函数功能相同,但是使用了 arg 变量来访问可变参数列表。 需要注意的是,arg 变量只能在函数内部使用,不能在函数外部访问。此外,在 Lua 5.1 版本中,arg 变量默认是全局变量,而在 Lua 5.2 及以上版本中,arg 变量被废弃了,可以使用 ... 来代替。因此,建议在编写 Lua 函数时,明确指定参数名,以避免出现不必要的问题。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复