use clap::{arg, command}; | |
fn main() { | |
let matches = command!() // requires `cargo` feature | |
.arg( | |
arg!(<MODE>) | |
.help("What mode to run the program in") | |
.value_parser(["fast", "slow"]), | |
) | |
.get_matches(); | |
// Note, it's safe to call unwrap() because the arg is required | |
match matches | |
.get_one::<String>("MODE") | |
.expect("'MODE' is required and parsing will fail if its missing") | |
.as_str() | |
{ | |
"fast" => { | |
println!("Hare"); | |
} | |
"slow" => { | |
println!("Tortoise"); | |
} | |
_ => unreachable!(), | |
} | |
} |