Avatar ·

Cómo obtener argumentos de línea de comandos en Rust

¡Hola! Acabo de empezar a aprender Rust y tengo un problema. Estoy escribiendo una pequeña utilidad de consola que debe aceptar un nombre de archivo y un modo de operación (por ejemplo, "read" o "write") desde la línea de comandos. En otros lenguajes, como Python, simplemente usaba sys.argv, y en C, argc/argv. Pero en Rust no puedo entender cómo hacerlo. Esto es lo que he probado: ```rust fn main() { let args = std::env::args(); println!("{:?}", args); } ``` Pero esto imprime algo extraño: `Args { inner: ["target/debug/myapp", "test.txt", "read"] }`. ¿Cómo obtengo las cadenas individuales, en lugar de este objeto confuso? ¿Y cómo verifico cuántos argumentos se han pasado? Necesito que el programa funcione así: `myapp test.txt read` — lea el archivo, y `myapp test.txt write` — escriba en él. Si hay menos de dos argumentos, debe mostrar un mensaje de error y terminar. Por favor, indícame cómo manejar correctamente los argumentos de línea de comandos en Rust. He oído hablar de la crate `clap`, pero me gustaría primero