Menu
Coddy logo textTech

La expresión 'match'

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

La expresión match es la potente herramienta de coincidencia de patrones de Rust que te permite comparar un valor con diferentes patrones y ejecutar código basado en qué patrón coincide. Piénsalo como una versión más avanzada de las sentencias if que puede manejar múltiples condiciones de manera elegante.

Aquí tienes la sintaxis básica de una expresión match:

match value {
    pattern1 => code_to_run,
    pattern2 => code_to_run,
    _ => default_code,
}

Cada línea dentro del match se llama un "brazo" (arm). El => separa el patrón del código que se ejecuta cuando ese patrón coincide. El guion bajo _ es un patrón comodín especial que coincide con cualquier cosa; es como un "comodín" (catch-all) para cualquier valor que no coincida con los otros patrones.

Aquí tienes un ejemplo sencillo que verifica un número:

let number = 2;

match number {
    1 => println!("One"),
    2 => println!("Two"),
    _ => println!("Other"),
}

En Rust, las expresiones match deben ser exhaustivas, lo que significa que deben manejar cada valor posible. Es por eso que el comodín _ es tan importante: garantiza que hayas cubierto todos los casos que no se emparejaron explícitamente.

challenge icon

Desafío

Fácil
Escribe una función describe_number que tome num y devuelva una descripción de cadena basada en el valor del número.

Usa una expresión match para devolver diferentes descripciones para diferentes números.

Condiciones:

  • Si num es 0, devuelve "zero"
  • Si num es 1, devuelve "one"
  • Si num es 2, devuelve "two"
  • Si num es 3, devuelve "three"
  • Para cualquier otro número, devuelve "many"

Parámetros:

  • num (i32): El número que se describirá

Devuelve: Una descripción de cadena del número (String)

Pruébalo tú mismo

fn describe_number(num: i32) -> String {
    // Escribe el código aquí
}
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