#无依赖 #类型安全 #参数解析器 #参数解析

badargs

类型安全的无依赖参数解析器

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命令行界面

MIT 许可证

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

布尔值只能是 NoneSome(true)
其他值可以是 NoneSome(_)

待办事项

能够添加更多元数据以提供更好的 --帮助--version

为什么 badargs 没有 x?

如果您需要一个功能齐全、甚至更类型安全的参数解析器,请使用 Clapstructopt

这些确实有很多依赖项和/或进程宏,所以在编译方面会更重。如果您不需要或不需要这些功能,Badargs 是完美的选择。

无运行时依赖