我试图将命令行参数传递为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
这里缺少什么?请指教。
答案 0 :(得分:1)
无需构建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
您的代码无效,因为您只打印表格中的键(在这种情况下是数字索引),而不是值。