La API derive de clap en Rust
Un struct con atributos se vuelve un parser, un texto de ayuda y una bandera de versión.
use clap::Parser;
/// Practice typing one language at a time.
#[derive(Parser, Debug)]
#[command(name = "typestar", version)]
struct Cli {
/// Language to practice
lang: String,
/// Seconds per sprint
#[arg(short, long, default_value_t = 60)]
seconds: u32,
}
fn main() {
let cli = Cli::parse();
println!("{} for {}s", cli.lang, cli.seconds);
}
Cómo funciona
#[derive(Parser)]genera toda la línea de comandos.- Los comentarios de doc se vuelven la ayuda de cada campo.
Parser::parsesale con un mensaje de uso ante entrada inválida.
Palabras clave y builtins usados aquí
Stringfnletstructu32use
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 346
- Tokens
- 63
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 38 segundos.
Paso 2 de 5 en Argumentos; paso 2 de 12 en Herramientas CLI y clientes HTTP.