如何在Lua中将命令行参数转换成表格?

我正在尝试将命令行参数传递为 Lua$ lua test.lua 5 1 8,但它的输出却是 1 2 3 而不是 5 1 8。我尝试过的代码如下所示,主要目标是将这些数字排序为 1 5 8。我只能对表使用"sort"命令。

a = {}
for i = 1, #arg do

    table.insert(a, arg[i])

end

for x in pairs(a)do

    print(x)

end

这里缺少什么?请给予建议。

点赞
用户107090
用户107090

不需要构建arg。命令行解释器lua已经为您构建了。

$ cat test.lua
for i,v in ipairs(arg) do
    print(i,v)
end

$ lua test.lua 5 1 8
1   5
2   1
3   8

您的代码无法工作,因为您只打印了表中的_键_(在这种情况下是数字索引),而不是_值_。

2018-06-08 12:27:55