Menu
Coddy logo textTech

Masquage, partie 1

Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 46 sur 75.

Vous pouvez déclarer une nouvelle variable avec le même nom qu'une variable précédente dans une portée différente. La nouvelle variable occulte la précédente jusqu'à la fin de sa portée :

fn main() {
    let x = 5;
    {
        let x = 12;
        // occulte le x extérieur
        println!("{}", x);
        // affiche "12"
    }
    
    println!("{}", x);
    // affiche "5"
}
challenge icon

Défi

Débutant

Écrivez un programme Rust qui démontre le concept d'ombrage (shadowing). Effectuez les étapes suivantes :

  1. Déclarez une variable nommée x et initialisez-la avec la valeur 5.
  2. Affichez la valeur de x dans la console au format suivant : x is: …
  3. Ombrez x avec une nouvelle valeur qui est le x d'origine plus 3 à l'intérieur d'une nouvelle portée (scope).
  4. Affichez le x ombré  au format suivant : x is: …
  5. Enfin, affichez x en dehors de la portée au format suivant : x is: …

Aide-mémoire

Vous pouvez déclarer une nouvelle variable avec le même nom qu'une variable précédente dans une portée différente. La nouvelle variable masque la précédente jusqu'à la fin de sa portée :

fn main() {
    let x = 5;
    {
        let x = 12;
        // masque le x extérieur
        println!("{}", x);
        // affiche "12"
    }
    
    println!("{}", x);
    // affiche "5"
}

Essayez vous-même

fn main() {
    // Déclarer x et l'initialiser avec 5
    
    // Afficher la valeur de x
    
    {
        // Masquer x avec le x d'origine plus 3
        
        // Afficher la valeur du x masqué
        
    }
    // Afficher la valeur du x extérieur
    
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals