Menu
Coddy logo textTech

Leer entrada del usuario

Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 30 de 75.

Hasta ahora, hemos estado creando programas en los que 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 hace mediante la biblioteca std::io. Esta biblioteca proporciona métodos para leer distintos tipos de entrada, como enteros, números de coma flotante y cadenas.

Para usar la biblioteca std::io, primero debes 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();

Se necesita .trim() 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". .trim() elimina estos caracteres de espacio en blanco adicionales (espacios, saltos de línea, etc.) del principio y del final de la entrada.

No te preocupes demasiado por unwrap() por ahora; aprenderemos sobre ello más adelante. Solo debes saber que nos ayuda a gestionar 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 después muestre Hello, seguido del nombre introducido por el usuario y un signo de exclamación.

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

Necesitarás:

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

Pruébalo tú mismo

use std::io;

fn main() {
    // Crea un objeto String
    let mut name = String::new();
    
    // Pide al usuario que introduzca su nombre (usa println)
    
    
    // Lee el nombre del usuario
    
    
    // Imprime 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 Fundamentos

Practica por tu cuenta: Compilador de Rust online