use pico_args::Arguments as Argumentoj;
use rand::prelude::IndexedRandom;
const HELPO: &str = r#"
UZADO:
proverbilo [nombro]
ARGOJ:
<nombro> Nombro da proverboj montri [defaŭlto: 1]
FLAGOJ:
-h, --helpo Printas help-informon.
"#;
include!(concat!(env!("OUT_DIR"), "/proverbaro.rs"));
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 nombro = parsu_argumentojn();
let mut hazardilo = rand::rng();
let proverboj_printotaj = PROVERBARO.sample(&mut hazardilo, nombro);
for proverbo in proverboj_printotaj {
println!("{}", proverbo);
}
}