作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
clap
允许您像这样使用 possible_values
提供可接受值的列表。
let mode_vals = ["fast", "slow"];
.possible_values(&mode_vals)
structopt
做到这一点?
最佳答案
clap
的possible_values
作为字段选项公开,如this structopt
example所示:
//! How to use `arg_enum!` with `StructOpt`.
use clap::arg_enum;
use structopt::StructOpt;
arg_enum! {
#[derive(Debug)]
enum Baz {
Foo,
Bar,
FooBar
}
}
#[derive(StructOpt, Debug)]
struct Opt {
/// Important argument.
#[structopt(possible_values = &Baz::variants(), case_insensitive = true)]
i: Baz,
}
fn main() {
let opt = Opt::from_args();
println!("{:?}", opt);
}
case_insensitive
,以允许接受这些变体的任何情况。
case_insensitive
,而是自己实现变体:
use structopt::StructOpt;
#[derive(Debug)]
enum Baz {
Foo,
Bar,
FooBar
}
impl Baz {
fn variants() -> [&'static str; 3] {
["foo", "bar", "foo-bar"]
}
}
#[derive(StructOpt, Debug)]
struct Opt {
/// Important argument.
#[structopt(possible_values = &Baz::variants())]
i: Baz,
}
fn main() {
let opt = Opt::from_args();
println!("{:?}", opt);
}
关于rust - 如何使用structopt将不可能的值附加到结构上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59115832/
我是一名优秀的程序员,十分优秀!