1 个稳定版本
1.0.0 | 2024 年 1 月 10 日 |
---|
#11 在 #cli-arguments 中
5KB
52 代码行
arg_fn
参数解析包,允许用户指定对每个参数的处理。
示例
#[derive(PartialEq, Debug, Default)]
struct Config {
foo: bool,
bar: bool,
}
let cfg = arg_fn::Parser::new(Config::default(), |_cfg, _arg| {})
.arg("-foo", |cfg| cfg.foo = true)
.arg("-nofoo", |cfg| cfg.foo = false)
.arg("-bar", |cfg| cfg.bar = true)
.arg("-nobar", |cfg| cfg.bar = false)
.parse(["-bar", "-nofoo", "-foo", "-nobar", "-foo"]);
assert_eq!(
cfg,
Config {
foo: true,
bar: false,
}
)
lib.rs
:
参数解析包,允许用户指定对每个参数的处理。
示例
#[derive(PartialEq, Debug, Default)]
struct Config {
foo: bool,
bar: bool,
}
let cfg = arg_fn::Parser::new(Config::default(), |_cfg, _arg| {})
.arg("-foo", |cfg| cfg.foo = true)
.arg("-nofoo", |cfg| cfg.foo = false)
.arg("-bar", |cfg| cfg.bar = true)
.arg("-nobar", |cfg| cfg.bar = false)
.parse(["-bar", "-nofoo", "-foo", "-nobar", "-foo"]);
assert_eq!(
cfg,
Config {
foo: true,
bar: false,
}
)