Lua函数作为参数时(...)是在哪个版本中引入的?

这是我能想象到的最简单的示例:

function NewPrint(...)
    print("printed:", ...)
end

NewPrint("Hi")

请注意,我已经有一段时间没有使用 Lua 了,可能会漏掉一些语法。

点赞
用户1163607
用户1163607

根据Lua.org官方文档,版本号是Lua 5.1。

Lua 5.1于2006年2月21日发布。其主要的新功能包括了一个新的模块系统,增量垃圾收集,新的可变参数机制,长字符串和注释的新语法,求模运算符和长度运算符,元表适用于所有类型,通过luaconf.h进行新的配置命令,以及一个完全可重入的解析器。

2013-06-18 18:36:21
用户1442917
用户1442917

函数定义的语法已经在 Lua 5.0 中被引入(手册Lua 2.5 (感谢 Luiz 对我进行纠正),但是当你想要访问这些可变参数时,需要使用 arg 表。这在 Lua 5.1 中已经得到修复,允许使用 ... 表示法进行定义和访问可变参数。

2013-06-18 19:45:06