Menu
Coddy logo textTech

La expresión 'if let'

Parte de la sección Lógica y Flujo del Journey de Rust de Coddy. Lección 4 de 66.

A veces solo necesitas comprobar un patrón específico y no te importan todas las demás posibilidades. Escribir una expresión match completa con una única rama significativa y un _ que abarque todos los demás casos puede resultar verboso. Rust proporciona if let como una alternativa más concisa para estas situaciones.

La expresión if let te permite combinar la coincidencia de patrones con la lógica condicional en una sola instrucción legible. Esta es la sintaxis básica:

if let pattern = value {
    // código a ejecutar si el patrón coincide
}

Por ejemplo, en lugar de escribir un match con un único brazo útil:

let number = 5;

match number {
    5 => println!("Found five!"),
    _ => (), // no hagas nada para otros valores
}

Puedes usar if let para hacerlo más limpio:

let number = 5;

if let 5 = number {
    println!("Found five!");
}

La expresión if let solo ejecuta el bloque de código cuando el patrón coincide. Si no coincide, no ocurre nada; no es necesario un caso explícito de "else" a menos que quieras uno.

challenge icon

Desafío

Fácil

Recibirás un número como entrada. Lee la entrada, conviértela en un entero y usa una expresión if let para comprobar si el número es exactamente 42. Si coincide, imprime "The answer!". Si no coincide, no imprimas nada.

Requisitos:

  • Usa una expresión if let para comprobar si el número es igual a 42
  • Si el número es 42, imprime "The answer!"
  • Si el número es cualquier otra cosa, no imprimas nada

Entrada: Un solo entero

Salida: Imprime "The answer!" si el número es 42; de lo contrario, no imprimas nada

Pruébalo tú mismo

use std::io;

fn main() {
    // Leer entrada
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let number: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Escribe tu código debajo
    // Usa if let para comprobar si number es igual a 42
    
}
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 Lógica y Flujo

Practica por tu cuenta: Compilador de Rust online