Introduction
Dans ce laboratoire, le concept de congélation est expliqué comme l'état où les données sont liées par le même nom de manière immuable, ce qui empêche leur modification jusqu'à ce que la liaison immuable sorte de portée.
Note : Si le laboratoire ne spécifie pas de nom de fichier, vous pouvez utiliser n'importe quel nom de fichier que vous voulez. Par exemple, vous pouvez utiliser
main.rs, le compiler et l'exécuter avecrustc main.rs &&./main.
Congélation
Lorsque des données sont liées par le même nom de manière immuable, elles sont également congelées. Les données congelées ne peuvent pas être modifiées tant que la liaison immuable est dans la portée :
fn main() {
let mut _mutable_integer = 7i32;
{
// Ombre par `_mutable_integer` immuable
let _mutable_integer = _mutable_integer;
// Erreur! `_mutable_integer` est congelé dans cette portée
_mutable_integer = 50;
// FIXME ^ Commenter cette ligne
// `_mutable_integer` sort de portée
}
// Ok! `_mutable_integer` n'est pas congelé dans cette portée
_mutable_integer = 3;
}
Sommaire
Félicitations! Vous avez terminé le laboratoire de Congélation. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.