Introducción
En este laboratorio, el concepto de congelación se explica como el estado en el que los datos están vinculados por el mismo nombre de manera inmutable, lo que los impide ser modificados hasta que el enlace inmutable sale del ámbito.
Nota: Si el laboratorio no especifica un nombre de archivo, puede usar cualquier nombre de archivo que desee. Por ejemplo, puede usar
main.rs, compilar y ejecutarlo conrustc main.rs &&./main.
Congelación
Cuando los datos se enlazan por el mismo nombre de manera inmutable, también se congelan. Los datos congelados no pueden ser modificados hasta que el enlace inmutable sale del ámbito:
fn main() {
let mut _mutable_integer = 7i32;
{
// Sombreado por `_mutable_integer` inmutable
let _mutable_integer = _mutable_integer;
// Error! `_mutable_integer` está congelado en este ámbito
_mutable_integer = 50;
// FIXME ^ Comenta esta línea
// `_mutable_integer` sale del ámbito
}
// Ok! `_mutable_integer` no está congelado en este ámbito
_mutable_integer = 3;
}
Resumen
¡Felicidades! Has completado el laboratorio de Congelación. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.