clap/examples/tutorial_derive/04_01_enum.rs
Ed Page befee6667b docs: Re-work examples
This creates distinct tutorial examples from complex feature examples
(more how-tos).  Both sets are getting builder / derive versions (at
least the critical ones).
2021-11-30 21:33:52 -06:00

29 lines
543 B
Rust

use clap::{ArgEnum, Parser};
#[derive(Parser)]
#[clap(author, version, about)]
struct Cli {
/// What mode to run the program in
#[clap(arg_enum)]
mode: Mode,
}
#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ArgEnum)]
enum Mode {
Fast,
Slow,
}
fn main() {
let cli = Cli::parse();
// Note, it's safe to call unwrap() because the arg is required
match cli.mode {
Mode::Fast => {
println!("Hare");
}
Mode::Slow => {
println!("Tortoise");
}
}
}