虽然我没有写一些lua(v5.3)代码,但遇到一个错误,我找不到很好的解释/解决方法。该错误与vararg (...)
有关。
local function A()
args = getargs(...)
... some more code
end
A()
我无法在此处粘贴真实代码,因为它无法正常工作,但是我希望您可以从上面的示例中看到问题:将args = getargs(...)
封装在A()
内时出现错误:>
cannot use '...' outside a vararg function near '...'
我是LUA的新手,但不是编程的新手,所以我发现此错误有些奇怪。如果args
和getargs()
是全局的,为什么会出现此错误以及如何解决该错误?解决方法不是进一步嵌套getargs()
。
答案 0 :(得分:1)
您的真实问题是A()
本身不是vararg。这段代码应该解决它:
local function A(...) -- Now this is vararg
args = getargs(...)
... some more code
end
A()
P.S。为什么不将args
设为本地?同时拥有arg
和args
令人困惑!