use pico_args::Arguments as Argumentoj;
use rand::rngs::SmallRng as Hazardileto;
use rand::seq::IteratorRandom;
use rand::SeedableRng;
const HELPO: &str = r#"
UZADO:
proverbilo [nombro]
ARGOJ:
<nombro> Nombro da proverboj montri [defaŭlto: 1]
FLAGOJ:
-h, --helpo Printas help-informon.
"#;
fn parsu_argumentojn() -> usize {
let mut argumentoj = Argumentoj::from_env();
if argumentoj.contains(["-h", "--helpo"]) {
print!("{}", HELPO);
std::process::exit(0);
}
match argumentoj.opt_free_from_str() {
Ok(eble_nombro) => eble_nombro.unwrap_or(1),
Err(_) => {
eprintln!("eraro parsante argumento(j)n");
std::process::exit(1);
}
}
}
fn main() {
let proverbaro = include_str!("../proverbaro.txt").split('\n');
let nombro = parsu_argumentojn();
let proverboj_printotaj = proverbaro.choose_multiple(&mut Hazardileto::from_entropy(), nombro);
for proverbo in proverboj_printotaj {
println!("{}", proverbo);
}
}