command-line-rust/exercises/ex02/src/main.rs

31 lines
877 B
Rust

use clap::{App, Arg};
fn main() {
let matches = App::new("echor")
.version("0.1.0")
.author("perro <hi@perrotuerto.blog>")
.about("Rust echo")
.arg(
Arg::with_name("text")
.value_name("TEXTO")
.help("Texto de entrada")
.required(true)
.min_values(1),
)
.arg(
Arg::with_name("omit_newline")
.short("n")
.help("No imprime nueva línea")
.takes_value(false),
)
.get_matches();
// OJO: unwrap es seguro de llamar porque 'text' está forzado en tener al menos un valor
let text = matches.values_of_lossy("text").unwrap();
let ending = if matches.is_present("omit_newline") {
""
} else {
"\n"
};
print!("{}{}", text.join(" "), ending);
}