交互式lua:命令行参数

mr *_*dar 31 lua command-line interactive

我希望这样做

 lua prog.lua arg1 arg2
Run Code Online (Sandbox Code Playgroud)

从命令行

在prog.lua里面,我想说,比如说

print (arg1, arg2, '\n')
Run Code Online (Sandbox Code Playgroud)

Lua似乎没有argv [1]等,我看到的处理命令行参数的方法似乎不成熟和/或繁琐.我错过了什么吗?

Nor*_*sey 46

你缺少的arg载体,它有你想要的元素arg[1],arg[2]等:

% lua -i -- /dev/null one two three
Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(arg[2])
two
> 
Run Code Online (Sandbox Code Playgroud)

有关Lua独立Lua手册部分的更多信息(感谢Miles!).


dau*_*tor 25

除了arg表之外,还...包含用于调用脚本的参数(arg [1]和up).

% lua -i -- /dev/null one two three
Lua 5.1.3  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print(...)
one     two     three


Rah*_*hul 5

Lua将参数存储在表中.该表是"arg"表.你可以使用arg [1],arg [2],...来访问里面传递的参数.

arg [0]是lua程序的名称.arg [1]是传递的第一个参数,arg [2]是传递的第二个参数,依此类推......