Menu
Coddy logo textTech

Coincidencia de rangos

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

Cuando necesitas comprobar si un valor cae dentro de un determinado rango de números, escribir brazos separados para cada valor individual sería tedioso. La expresión match de Rust admite patrones de rango que te permiten realizar coincidencias con un intervalo continuo de valores utilizando la sintaxis start..=end.

El operador ..= crea un rango inclusivo, lo que significa que tanto los valores iniciales como los finales se incluyen en la coincidencia. Así puedes usar rangos en los brazos de una coincidencia:

let temp = 22;

match temp {
    ..=0 => println!("Freezing"),
    1..=15 => println!("Cold"),
    _ => println!("Warm"),
}

En este ejemplo, una temperatura de 22 no coincidiría con los dos primeros rangos, por lo que pasa a la rama comodín e imprime "Warm". El rango 1..=15 incluye tanto 1 como 15, por lo que cualquier temperatura de 1 a 15 imprimiría "Cold".

challenge icon

Desafío

Fácil

Recibirás una edad como entrada. Lee la entrada, conviértela en un entero y usa una expresión match con patrones de rango para imprimir la categoría de edad adecuada.

Requisitos:

  • Si la edad es 0..=12, imprime "Child"
  • Si la edad es 13..=19, imprime "Teenager"
  • Si la edad es 20..=64, imprime "Adult"
  • Si la edad es 65..=120, imprime "Senior"
  • Para cualquier otra edad, imprime "Invalid age"

Entrada: Un solo número entero que representa la edad

Salida: Imprime la categoría de edad: "Child", "Teenager", "Adult", "Senior", o "Invalid age"

Pruébalo tú mismo

use std::io;

fn main() {
    // Leer la entrada
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let age: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Escribe tu código a continuación usando una expresión `match` con patrones de rango
    
    // Imprimir el resultado
}
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