adjective-adjective-animal/src/main.rs

34 lines
904 B
Rust
Raw Normal View History

2015-09-19 16:17:59 -04:00
#[macro_use] extern crate clap;
extern crate names;
2015-09-19 15:28:27 -04:00
use clap::{App, Arg};
2015-09-19 16:17:59 -04:00
use names::Generator;
2015-09-19 15:28:27 -04:00
2015-09-19 14:06:58 -04:00
fn main() {
2015-09-19 15:28:27 -04:00
let matches = App::new("names")
.version(&crate_version!()[..])
.author("Fletcher Nichol <fnichol@nichol.ca>")
.about("Random name generator")
.arg(Arg::with_name("AMOUNT")
.help("Number of names to generate (default: 1)")
.index(1)
)
.arg(Arg::with_name("number")
.short("n")
.long("number")
.help("Adds a random number to the name(s)")
)
.get_matches();
2015-09-19 16:17:59 -04:00
let amount = value_t!(matches.value_of("AMOUNT"), u32).unwrap_or(1);
let gen = Generator::default();
2015-09-19 14:06:58 -04:00
2015-09-19 15:28:27 -04:00
for _ in 0..amount {
if matches.is_present("number") {
2015-09-19 16:17:59 -04:00
println!("{}", gen.name_with_number());
2015-09-19 15:28:27 -04:00
} else {
2015-09-19 16:17:59 -04:00
println!("{}", gen.name());
2015-09-19 14:06:58 -04:00
}
}
}