https://github.com/luarocks/argparse
luarocks install argparse
-- 指令名称 指令描述信息 指令参数列表(调用-s的时候参数会被加入参数列表中)
-- parser:option("-s --search", "App search path.", {"app1", "app2"}):count("*")
-- count(2) 限制 -s 必须被调用两次
-- count("0-2") -s 可以被使用 [0,2] 次
-- count("*") -s 可以被使用任意次
local parser = require("argparse")()
parser:argument("test_str", "Input str.")
parser:option("-p --port","port","4455")
parser:option("-h --host","host","127.0.0.1")
local args = parser:parse()
print("host = ",args.host)
print("port = ",args.port)
print("test_str = ",args.test_str)
使用 --help 指令可以查看描述信息
![](https://i-blog.csdnimg.cn/blog_migrate/3d717ed599b9c30270ef99ccd96e4fb7.png)
-- parser:flag("-v --verbose","sets verbosity level"):count("0-2"):target("ver")
-- flag 的调用方式 调用一次 -v 调用两次 -vv
-- target 表示将参数的名称修改为 ver
parser:argument("arglist","this is arglist"):args("*")
-- args(2)限制必须输入n个参数
-- args("0-2") 可以自由输入[0,2]个参数
-- args("?") 取当前可用参数列表的第一个
-- args("*") 可传任意个参数