3个版本
0.1.2 | 2023年7月23日 |
---|---|
0.1.1 | 2023年7月22日 |
0.1.0 | 2023年7月22日 |
#33 in #complete
13KB
124 行代码,不包括注释
argsyn
,一个GNU风格的语法参数解析器
本库提供了GNU风格参数解析的完整实现,如
https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html
参数根据GNU风格被转换为基本类型、标志、对和几种其他类型。以下是一个将参数序列转换为指定为短对的“xy”的视觉示例
$ program arg1 -abcx12 -y 3 --long --key=value - arg2 -- -kh --ignore
| | |||| | | | | | | | |
Basic(program)|||| | | | | | | Basic(-kh)
Basic(arg1) | | | | | | Basic(--ignore)
Flag(a) | | | | | |
Flag(b)| | | | | |
Flag(c) | | | | |
Pair(x,12) | | | | |
Pair(y,3) | | | |
Flag(long) | | |
Pair(key,value) |
Stdin |
Basic(arg2)
Done
在Rust中,要打印所有解析的参数,就像这样简单
for opt in std::env::args().opts("xy") {
println!("{:?}", opt.simplify());
}