Menu
Coddy logo textTech

Corrispondenza di intervalli

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 3 di 66.

Quando devi verificare se un valore rientra in un determinato intervallo di numeri, scrivere rami separati per ogni singolo valore sarebbe tedioso. L’espressione match di Rust supporta i pattern di intervallo, che ti consentono di confrontare un intervallo continuo di valori usando la sintassi start..=end.

L'operatore ..= crea un intervallo inclusivo, il che significa che nel confronto sono inclusi sia il valore iniziale sia quello finale. Ecco come puoi usare gli intervalli nei rami di match:

let temp = 22;

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

In questo esempio, una temperatura di 22 non corrisponderebbe ai primi due intervalli, quindi passerebbe al ramo jolly e stamperebbe "Warm". L'intervallo 1..=15 include sia 1 che 15, quindi qualsiasi temperatura da 1 a 15 stamperebbe "Cold".

challenge icon

Sfida

Facile

Riceverai un'età come input. Leggi l'input, convertilo in un numero intero e usa un'espressione match con pattern di intervallo per stampare la categoria di età appropriata.

Requisiti:

  • Se l'età è 0..=12, stampa "Child"
  • Se l'età è 13..=19, stampa "Teenager"
  • Se l'età è 20..=64, stampa "Adult"
  • Se l'età è 65..=120, stampa "Senior"
  • Per qualsiasi altra età, stampa "Invalid age"

Input: Un singolo numero intero che rappresenta l'età

Output: Stampa la categoria di età: "Child", "Teenager", "Adult", "Senior" o "Invalid age"

Provalo tu

use std::io;

fn main() {
    // Leggi l'input
    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: Scrivi il tuo codice qui sotto usando un'espressione match con pattern di intervallo
    
    // Stampa il risultato
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Rust online