typestar

Flags, conteos y listas en Rust

Valores opcionales, flags repetidos y argumentos que toman muchos valores.

use clap::{ArgAction, Parser};

#[derive(Parser, Debug)]
struct Cli {
    /// Tours to include
    #[arg(short, long)]
    tour: Vec<String>,

    /// Write results here
    #[arg(short, long)]
    out: Option<String>,

    /// Repeat for more detail
    #[arg(short, long, action = ArgAction::Count)]
    verbose: u8,

    /// Skip the confirmation
    #[arg(long, default_value_t = false)]
    force: bool,
}

fn main() {
    let cli = Cli::parse();
    println!("{:?} -> {:?}", cli.tour, cli.out);
    println!("verbosity {} force {}", cli.verbose, cli.force);
}

Cómo funciona

  1. Option<T> vuelve opcional un argumento.
  2. ArgAction::Count convierte -v -v en un nivel.
  3. Un campo Vec<T> junta cada aparición.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
26
Caracteres a escribir
505
Tokens
100
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 60 segundos.

Escribe este fragmento

Paso 3 de 5 en Argumentos; paso 3 de 12 en Herramientas CLI y clientes HTTP.

← Anterior Siguiente →