4 个版本
0.2.0 | 2021 年 12 月 15 日 |
---|---|
0.1.2 | 2021 年 10 月 2 日 |
0.1.1 | 2021 年 10 月 2 日 |
0.1.0 | 2021 年 10 月 2 日 |
#478 在 命令行界面
27KB
543 行
注意:badargs 还不是 1.0 版本,所以它可能会随时更改。请谨慎使用。
badargs
一个无依赖的全类型安全参数解析器。
对于它所做的事情来说,这是正确的。
badargs
通过打印错误并优雅地退出程序来处理非 Utf8 输入。
如何使用
use badargs::arg;
arg!(OutFile: "output", 'o' -> String);
arg!(Force: "force", 'f' -> bool);
arg!(OLevel: "optimize" -> usize);
fn main() {
let args = badargs::badargs!(OutFile, Force, OLevel);
let outfile = args.get::<OutFile>();
let force = args.get::<Force>();
let o_level = args.get::<OLevel>();
println!("output: {:?}", outfile);
println!("force: {:?}", force);
println!("o-level: {:?}", o_level);
println!("other args: {:?}", args.unnamed())
}
使用 badargs::arg!
宏来声明参数,如下所示
arg!(绑定,长名称,可选短名称->返回类型)
目前可用的返回类型如下
- String
- bool
- isize
- usize
- f64
布尔值只能是 None
或 Some(true)
。
其他值可以是 None
或 Some(_)
待办事项
能够添加更多元数据以提供更好的 --帮助
或 --version
为什么 badargs 没有 x?
如果您需要一个功能齐全、甚至更类型安全的参数解析器,请使用 Clap 或 structopt。
这些确实有很多依赖项和/或进程宏,所以在编译方面会更重。如果您不需要或不需要这些功能,Badargs 是完美的选择。