clap::value_t!
[−]
[src]
macro_rules! value_t { ($m:ident.value_of($v:expr), $t:ty) => { ... }; ($m:ident.values_of($v:expr), $t:ty) => { ... }; }
Convenience macro getting a typed value T
where T
implements std::str::FromStr
This macro returns a Result<T,String>
which allows you as the developer to decide
what you'd like to do on a failed parse. There are two types of errors, parse failures
and those where the argument wasn't present (such as a non-required argument).
You can use it to get a single value, or a Vec<T>
with the values_of()
NOTE: Be cautious, as since this a macro invocation it's not exactly like standard syntax.
Example single value
let matches = App::new("myapp") .arg_from_usage("[length] 'Set the length to use as a pos whole num, i.e. 20'") .get_matches(); let len = value_t!(matches.value_of("length"), u32) .unwrap_or_else(|e|{ println!("{}",e); std::process::exit(1) }); println!("{} + 2: {}", len, len + 2);
Example multiple values
let matches = App::new("myapp") .arg_from_usage("[seq]... 'A sequence of pos whole nums, i.e. 20 45'") .get_matches(); for v in value_t!(matches.values_of("seq"), u32) .unwrap_or_else(|e|{ println!("{}",e); std::process::exit(1) }) { println!("{} + 2: {}", v, v + 2); }