Quick 是不是不支持可变长函数参数

我记得原始的 lua 函数定义是支持三个点 … 表示可变长参数的,其内部用 arg 表接收所有…参数

但我在quick3.5项目中却好像不行。

比如 我在config.lua 定义了一个 db.print 函数


db={}
db.print = function(...)
    if DEBUG > 0 then
    print(unpack(arg))
    end
end

然后在某个 xxScene.lua 中调用之


db.print("some button clicked")

报错说:bad argument # to ‘unpack’ (table expected, got nil)


db = {}
db.print = function (...)
    local arg = {...}
    print(unpack(arg))
end

db.print('some button clicked')



$ luajit -v
LuaJIT 2.1.0-alpha -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/
$ luajit a.lua
some button clicked

lua 5.3.1 需要使用 table.unpack

谢了。原来是lua 版本的问题
我试了下,在 quick3.5 中直接用 print(…) 即可
在函数内部也直接使用三个点原封传递参数