#命令行参数 #参数 #args #参数解析器 #命令行

easy-args

一个轻量级的库,帮助解析命令行参数

4 个版本 (2 个破坏性更改)

0.3.0 2021年6月15日
0.2.0 2021年6月13日
0.1.1 2021年6月12日
0.1.0 2021年6月12日

#788 in 命令行界面

每月33次下载

MIT 许可证

30KB
440

easy-args

一个用于简单和轻量级命令行参数解析的Rust库,具有

  • 通过ArgSpec轻松使用声明性用法,
  • 无其他crate依赖,

值得注意的是,easy-args 不是

  • 广泛。仅支持布尔标志、有符号和无符号64位整数以及这些类型的数组版本。
  • 快速。它绝对不慢,但也不是为了最大性能而设计的。

文档

使用方法

将以下内容添加到您的 Cargo.toml

[dependencies]
easy-args = "0.3.0"

以开始使用 easy-args。

首先,您必须定义一个 ArgSpec,这将确定您的程序中的命令行参数,并用于解析器进行一些简单检查。您可以使用构建器模式创建一个 ArgSpec

let spec = ArgSpec::build()
    .boolean("fullscreen")
    .uinteger_array(2, "size")
    .done()?;

存在一个 arg_spec! 宏,它提供了更简洁的语法。

let spec = arg_spec! {
  fullscreen: bool,
  size: [u64; 2],
};

其次,您调用 ArgSpecsparse() 方法以获取处理后的命令行参数。

let args = spec.parse()?;
if args.boolean("fullscreen") == Some(&true) {
    // Put application into fullscreen
}

就是这样!参数已经解析和处理,可以通过 Args 的getter方法访问。 ArgSpecBuilder 也有一个 parse() 方法,所以您不需要创建一个废弃的变量。

let args = ArgSpec::build()
    .boolean("fullscreen")
    .uinteger_array(2, "size")
    .parse()
    .unwrap();

版本

easy-args 是一个不成熟的crate,因此未来版本可能会进行破坏性更改。

当前的 easy-args 版本是

  • 版本 0.1.0 于 2021 年 6 月发布,是第一个实现。
  • 版本 0.1.1 在几小时后发布,增加了文档。
  • 版本 0.2.0 于 2021 年 6 月发布,引入了数组类型,将 unsigned_integer 方法重命名为 uinteger,并增加了构建 ArgSpec 的错误检查。
  • 版本 0.3.0 于 2021 年 6 月发布。将crate重组为单个模块以简化导入。新增功能包括
    • arg_spec! 宏,提供更简洁的 ArgSpec 构建语法。
    • 现在支持 f64[f64] 参数。

许可证

easy-args 在 MIT 许可证的条款下分发。

无运行时依赖