特别是Luajit。
我正在编写脚本作为学习练习,并尝试使用可变参数。但是,这样做只是打印命令行参数。我仔细检查了文档,实际上,两个应用程序都使用arg
变量。
如何指定何时要使用一个而不是另一个?
function init(...)
for k,v in pairs(arg) do print(k,v) end
-- Function body.
end
输出
0 /.../lua_script.lua
-1 luajit
答案 0 :(得分:1)
源自Lua 5.1的LuaJIT使用较新的vararg语法,其中您可以将这些varargs手动捕获到表中:
print_r
LuaJIT中的特殊function init (...)
local args = { ... }
for k, v in pairs(args) do print(k, v) end
end
变量仅用于命令行参数。
请参阅LuaJIT FAQ中的第三项。