28 个版本 (12 个稳定版)
使用旧的 Rust 2015
1.1.7 | 2024年6月23日 |
---|---|
1.1.6 | 2024年3月30日 |
1.1.4 | 2024年1月19日 |
1.1.3 | 2022年1月6日 |
0.3.1 | 2018年11月30日 |
#288 在 命令行工具
每月下载量 316
在 11 个 包(10 个直接)中使用
28KB
463 行
getopt
一个最小化、(本质上) POSIX 兼容的选项解析器。
getopt::Parser
遍历提供的参数,按照命令行上的顺序一次生成一个选项,直到遇到第一个非选项参数。
示例
#![allow(unused_assignments, unused_variables)]
use getopt::Opt;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut args: Vec<String> = std::env::args().collect();
let mut opts = getopt::Parser::new(&args, "ab:");
let mut a_flag = false;
let mut b_flag = String::new();
loop {
match opts.next().transpose()? {
None => break,
Some(opt) => match opt {
Opt('a', None) => a_flag = true,
Opt('b', Some(string)) => b_flag = string.clone(),
_ => unreachable!(),
}
}
}
let args = args.split_off(opts.index());
// …
Ok(())
}