如何在 Lua 中消除命令行和变量参数的歧义?
How to Disambiguate Command Line and Variable Arguments in Lua?
具体来说,Luajit。
我正在编写一个脚本作为学习练习,并尝试使用可变参数。但是,这样做只会打印 命令行 参数。我仔细检查了文档,确实,两个应用程序都使用了 arg
变量。
如何指定我想使用一个而不是另一个?
function init(...)
for k,v in pairs(arg) do print(k,v) end
-- Function body.
end
输出,
0 /.../lua_script.lua
-1 luajit
LuaJIT,源自 Lua 5.1,使用较新的可变参数语法,其中您手动将可变参数捕获到 table:
function init (...)
local args = { ... }
for k, v in pairs(args) do print(k, v) end
end
特殊的 arg
变量,在 LuaJIT 中,仅用于命令行参数。
查看 LuaJIT FAQ 中的第三项。
具体来说,Luajit。
我正在编写一个脚本作为学习练习,并尝试使用可变参数。但是,这样做只会打印 命令行 参数。我仔细检查了文档,确实,两个应用程序都使用了 arg
变量。
如何指定我想使用一个而不是另一个?
function init(...)
for k,v in pairs(arg) do print(k,v) end
-- Function body.
end
输出,
0 /.../lua_script.lua
-1 luajit
LuaJIT,源自 Lua 5.1,使用较新的可变参数语法,其中您手动将可变参数捕获到 table:
function init (...)
local args = { ... }
for k, v in pairs(args) do print(k, v) end
end
特殊的 arg
变量,在 LuaJIT 中,仅用于命令行参数。
查看 LuaJIT FAQ 中的第三项。