1 use clap::{arg, command, value_parser}; 2 main()3fn main() { 4 let matches = cmd().get_matches(); 5 6 // Note, it's safe to call unwrap() because the arg is required 7 let port: usize = *matches 8 .get_one::<usize>("PORT") 9 .expect("'PORT' is required and parsing will fail if its missing"); 10 println!("PORT = {}", port); 11 } 12 cmd() -> clap::Command13fn cmd() -> clap::Command { 14 command!() // requires `cargo` feature 15 .arg( 16 arg!(<PORT>) 17 .help("Network port to use") 18 .value_parser(value_parser!(usize)), 19 ) 20 } 21 22 #[test] verify_cmd()23fn verify_cmd() { 24 cmd().debug_assert(); 25 } 26