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次下载
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],
};
其次,您调用 ArgSpecs
的 parse()
方法以获取处理后的命令行参数。
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 许可证的条款下分发。