如何在lua 5.2中检索可变参数

参考页面都说

function this(...)
end

但是,当我尝试应用所谓的arg变量时,我得到的只是一个空引用。我尝试过捕获参数,结果是一个空表。我尝试强制使用local tab = {...},仍然得到空引用。我设法捕获参数的最接近的方式是select("#",...),但它只返回参数的数量。每当我尝试在参数声明外捕获时,我只得到另一个错误……

我一直在努力寻找解决办法,但一直没有结果……有没有办法在不强制传递表的情况下完成此操作?

点赞
用户1009479
用户1009479

arg参数只适用于Lua 5.0。自Lua 5.1以来,变长参数表达式...已经取代。

试试这个:

function foo(...)
    for k, v in ipairs{...} do
        print(k, v)
    end
end

foo('hello', 'world')
2016-03-23 08:01:26