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"
}Défi
DébutantÉcrivez un programme Rust qui démontre le concept d'ombrage (shadowing). Effectuez les étapes suivantes :
- Déclarez une variable nommée
xet initialisez-la avec la valeur5. - Affichez la valeur de
xdans la console au format suivant :x is: … - Ombrez
xavec une nouvelle valeur qui est lexd'origine plus3à l'intérieur d'une nouvelle portée (scope). - Affichez le
xombré au format suivant :x is: … - Enfin, affichez
xen 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
}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
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Afficher dans la consoleLire la saisie utilisateurRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 33Variables - Partie 2
Déclaration de typeConventions de nommageInférence de typeRécapitulatif - Initialiser des variablesConversion de type9Boucles
Boucle For sur une sérieBoucle WhileBreakContinueBoucles imbriquéesÉtiquettes de boucleBoucle infinieRécapitulatif - Entrée dynamique12Bases des tableaux
Déclaration de tableauxTableau comme paramètreAccès aux élémentsModification de tableauxRécapitulatif - Affichage formaté d'un tableau15Opérations sur les chaînes
Méthodes de chaînesMacro format!Conversion de chaînesRécapitulatif - Format