Rust : if let

De Justine's wiki
Version datée du 3 novembre 2022 à 09:14 par Justine (discussion | contributions) (Page créée avec «  <nowiki> fn main() { //if let est une syntaxe spéciale qui permet de simplifier //Prenons un exemple un peu verbeux //on veut juste savoir si la variable est pas vide let config_max = Some(3u8); match config_max { Some(max) => println!("The maximum is configured to be {}", max), _ => (), } //On peut simplifier: let conf_max = Some(30u8); if let Some(max) = conf_max { println!("The maximum is configur... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
fn main() {
    //if let est une syntaxe spéciale qui permet de simplifier

    //Prenons un exemple un peu verbeux
    //on veut juste savoir si la variable est pas vide
    let config_max = Some(3u8);
    match config_max {
        Some(max) => println!("The maximum is configured to be {}", max),
        _ => (),
    }

    //On peut simplifier:
    let conf_max = Some(30u8);
    if let Some(max) = conf_max {
        println!("The maximum is configured to be {}", max);
    }

    //Même chose avec du else en plus
    //(..reprend l'exemple pour les matches, avec les enum Coin etc)
    //On simplifie ça...
    let mut count = 0;
    match coin {
        Coin::Quarter(state) => println!("State quarter from {:?}!", state),
        _ => count += 1,
    }

    //...en ça
    let mut count = 0;
    if let Coin::Quarter(state) = coin {
        println!("State quarter from {:?}!", state);
    } else {
        count += 1;
    }

}