在Lua中处理可变数量的参数

时间:2015-09-23 09:24:00

标签: lua arguments

我将参数传递给Lua脚本并使用以下方法检索它们:

local arg1, arg2 = ...

现在我想使用不同的语法,免费订购,以便我可以致电:

./myscript.lua arg1=val1 arg2=val2

所以我尝试了类似的事情:

args = ...
params = {}

for i, k in pairs(args) do
  p, v = split(a, "=")
  params[p] = v
end

不起作用,因为args只获取第一个参数的值。

如何一次性检索传递给脚本的所有参数?

注意:脚本是使用lua_pcall从C执行的。

1 个答案:

答案 0 :(得分:2)

使用{...}分配它:

args = {...}
params = {}

for i, k in ipairs(args) do
  print(i, k)
end

实际上,不需要args

for i, k in ipairs{...} do