默认情况下,布尔字段设置为false
,但我希望它true
默认设置为。
我试图[default: true]
在docopt
描述中使用,但它似乎default
不能应用于布尔选项。我也尝试使用 Rust 的Default
特性——它也不起作用。
以下是一个最小示例:
extern crate rustc_serialize;
extern crate docopt;
use docopt::Docopt;
const USAGE: &'static str = "
Hello World.
Usage:
helloworld [options]
Options:
--an-option-with-default-true This option should by default be true
";
#[derive(Debug, RustcDecodable)]
struct Args {
flag_an_option_with_default_true: bool,
}
impl Args {
pub fn init(str: &str) -> Args {
Docopt::new(USAGE)
.and_then(|d| d.argv(str.split_whitespace().into_iter()).parse())
.unwrap_or_else(|e| e.exit())
.decode()
.unwrap()
}
}