Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Lua中获取表的命令行参数?_Lua - Fatal编程技术网

如何在Lua中获取表的命令行参数?

如何在Lua中获取表的命令行参数?,lua,Lua,我试图将命令行参数作为Lua$Lua test.Lua 5 1 8传递,它将输出作为1 2 3而不是5 1 8。我尝试的代码如下所示,主要目标是,我需要将这些数字排序为1 5 8。我只能对表使用“排序”命令 a = {} for i = 1, #arg do table.insert(a, arg[i]) end for x in pairs(a)do print(x) end 这里少了什么?请给我一些建议 无需构建arg。命令行解释器lua已经为您完成了这项工作 $

我试图将命令行参数作为
Lua$Lua test.Lua 5 1 8
传递,它将输出作为1 2 3而不是5 1 8。我尝试的代码如下所示,主要目标是,我需要将这些数字排序为1 5 8。我只能对表使用“排序”命令

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

    table.insert(a, arg[i])

end

for x in pairs(a)do

    print(x)

end

这里少了什么?请给我一些建议

无需构建
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

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

似乎您只是简单的输入错误或没有RTFM:)-
生成
键,值
,所以您打印的是键(1,2,3),而不是值。修正:
对于x,成对(a)do