Rust_Examples_and_Notes/general_code/050_cli_clap.rs

41 lines
1.1 KiB
Rust

// clap = "3.0.0-beta.5"
extern crate clap;
use clap::{Arg, App};
fn main() {
let app = App::new("hello-clap");
let iternum = Arg::with_name("n")
.long("num")
.takes_value(true)
.help("You need to specify the max number of iterations.")
.required(true);
let funcatk = Arg::with_name("f")
.long("func")
.takes_value(true)
.help("You need to specify the function to attack.")
.required(true);
let contractf = Arg::with_name("c")
.long("contract")
.takes_value(true)
.help("You need to specify the contract file's name.")
.required(true);
let app = app.arg(iternum);
let app = app.arg(funcatk);
let app = app.arg(contractf);
let matches = app.get_matches();
let iternumout = matches.value_of("iternum")
.expect("Required option.");
let funcatkout = matches.value_of("funcatk")
.expect("Required option.");
let contractfout = matches.value_of("contractf")
.expect("Required option.");
println!("Your options are: {} {} {}!", iternumout, funcatkout, contractfout);
}