Lectura de argumentos de línea de comandos

Rust:
Lectura de argumentos de línea de comandos

Cómo:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();

    // Asumiendo que el primer argumento es el nombre del programa
    if args.len() > 1 {
        println!("Argumentos recibidos:");
        for arg in args.iter().skip(1) {
            println!("{}", arg);
        }
    } else {
        println!("No se han proporcionado argumentos.");
    }
}

Ejecución en terminal y salida esperada:

$ my_app argumento1 argumento2
Argumentos recibidos:
argumento1
argumento2

Análisis Profundo:

Históricamente, leer argumentos de la línea de comandos es una práctica fundamental en la mayoría de lenguajes de programación que interactúan con shells de Unix y Windows. Rust proporciona la librería estándar std::env, y con ella, las funciones necesarias. Alternativas incluyen crates como clap y structopt que permiten una gestión de argumentos más avanzada y con mejor ergonomía.

Hablando de implementación, env::args() retorna un iterador que produce cada argumento como String. Es importante notar que el primer elemento siempre es el path hacia el binario que se está ejecutando. Por eso, usamos .skip(1) para empezar a procesar argumentos desde el usuario. En aplicaciones más complejas, es común desglosar y tratar distintos tipos de argumentos con diferentes comportamientos y validaciones.

Ver También: