Menu
Coddy logo textTech

L'espressione 'if let'

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

A volte devi solo verificare un modello specifico e non ti interessano tutte le altre possibilità. Scrivere un’espressione match completa con un solo ramo significativo e un _ che intercetta tutti gli altri casi può sembrare prolisso. Rust fornisce if let come alternativa più concisa in queste situazioni.

L’espressione if let ti permette di combinare il pattern matching con la logica condizionale in un’unica istruzione leggibile. Ecco la sintassi di base:

if let pattern = value {
    // codice da eseguire se pattern corrisponde
}

Ad esempio, invece di scrivere un match con un solo ramo utile:

let number = 5;

match number {
    5 => println!("Found five!"),
    _ => (), // non fare nulla per gli altri valori
}

Puoi usare if let per renderlo più pulito:

let number = 5;

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

L'espressione if let esegue il blocco di codice solo quando il pattern corrisponde. Se non corrisponde, non succede nulla: non è necessario un caso "else" esplicito, a meno che tu non ne voglia uno.

challenge icon

Sfida

Facile

Riceverai un numero come input. Leggi l'input, convertilo in un intero e usa un'espressione if let per verificare se il numero è esattamente 42. Se corrisponde, stampa "The answer!". Se non corrisponde, non stampare nulla.

Requisiti:

  • Usa un'espressione if let per verificare se il numero è uguale a 42
  • Se il numero è 42, stampa "The answer!"
  • Se il numero è qualsiasi altro valore, non stampare nulla

Input: Un singolo intero

Output: Stampa "The answer!" se il numero è 42, altrimenti non stampare nulla

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 number: i32 = input.trim().parse().expect("Please enter a valid number");
    
    // TODO: Scrivi il tuo codice qui sotto
    // Usa if let per verificare se number è uguale a 42
    
}
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