Menu
Coddy logo textTech

Leer entrada del usuario

Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 30 de 75.

Hasta ahora, hemos estado creando programas donde escribimos valores directamente en nuestro código. Pero los programas reales a menudo necesitan interactuar con los usuarios y obtener información de ellos.

En Rust, obtener la entrada de un usuario se realiza utilizando la biblioteca std::io. Esta biblioteca proporciona métodos para leer diferentes tipos de entrada, como enteros, números de punto flotante y cadenas.

Para usar la biblioteca std::io, primero necesitas importarla:

use std::io;

Para leer la entrada de un usuario, necesitamos dos líneas de código:

let mut my_var = String::new();
// Crea una cadena vacía para almacenar la entrada

io::stdin().read_line(&mut my_var).unwrap();
 // Lee la entrada

Esto almacenará el valor de entrada en la variable my_var como un tipo de cadena.

Si quieres obtener un número, necesitas un paso adicional para convertir la entrada de texto en un número:

let age: i32 = input.trim().parse().unwrap();

El .trim() es necesario porque cuando los usuarios presionan Enter, se añade un carácter de nueva línea a su entrada. Por ejemplo, si alguien escribe "25" y presiona Enter, la entrada real es "25\n". El .trim() elimina estos caracteres de espacio en blanco adicionales (espacios, nuevas líneas, etc.) tanto del inicio como del final de la entrada.

No te preocupes demasiado por unwrap() por ahora; aprenderemos sobre ello más tarde. Solo ten en cuenta que nos ayuda a manejar posibles errores de una manera sencilla (aunque no ideal).

challenge icon

Desafío

Principiante

Escribe un programa que obtenga la entrada del usuario (su nombre) y luego imprima Hello, seguido del nombre ingresado por el usuario y un signo de exclamación.

Por ejemplo, si el usuario ingresa Bob, la salida esperada es Hello, Bob!.

Deberás:

  1. Crear un objeto String para leer la entrada.
  2. Solicitar al usuario que ingrese su nombre: "Enter your name:"
  3. Leer el nombre del usuario utilizando el método std::io adecuado.
  4. Imprimir Hello, seguido del nombre almacenado y un signo de exclamación ! al final.

Hoja de referencia

Para obtener la entrada del usuario en Rust, importa la biblioteca std::io:

use std::io;

Para leer una entrada de cadena de un usuario:

let mut my_var = String::new();
io::stdin().read_line(&mut my_var).unwrap();

Para convertir una entrada de cadena en un número:

let age: i32 = input.trim().parse().unwrap();

El método .trim() elimina los caracteres de espacio en blanco (incluyendo los saltos de línea al presionar Enter) de la entrada.

Pruébalo tú mismo

use std::io;

fn main() {
    // Crear un objeto String
    let mut name = String::new();
    
    // Solicitar al usuario que ingrese su nombre (usar println)
    
    
    // Leer el nombre del usuario
    
    
    // Imprimir el mensaje de saludo
    
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals