기본적으로 부울 필드는 false
으로 설정되어 있지만 기본값으로 true
으로 설정해야합니다.Rust의 docopt에서 기본적으로 부울 옵션을 'true'로 설정할 수 있습니까?
설명 : docopt
설명에서 [default: true]
을 사용하려고했으나 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()
}
}
값을 false로 설정하는 방법을 설명해 주시겠습니까? –
'false'로 설정할 방법이 없다면, 문제는 쉽게 해결됩니다 :'const FLAG_AN_OPTION_WITH_DEFAULT_TRUE : bool = true;' – Shepmaster
@Shepmaster Errm, 플래그의 기본값이 true이면 아무런 방법이 없다는 것이 문제입니다 최종 사용자가 플래그를 false로 설정합니다. 따라서 플래그를 true로 기본 설정하는 것은 의미가 없습니다. 플래그는 true 또는 false 중 하나입니다. – BurntSushi5