Shadowing
Capítulo 7: ¿Qué es shadowing y cómo se utiliza en Rust?
El sombreado, eclipsado o shadowing en inglés, es por decirlo de forma simple, una redeclaración de variable.
No confundas redeclaración con reasignación. Lo primero significa volver a declarar, y lo segundo volver a asignar un valor.
Ejemplo de shadowing
fn main() {
let a = 10;
let a = 30;
print!("La variable contiene el valor: {}", a)
}
warning: unused variable: `a`
--> src\main.rs:2:9
|
2 | let a = 10;
| ^ help: if this is intentional, prefix it with an underscore: `_a`
|
= note: `#[warn(unused_variables)]` on by default
warning: `hola_mundo` (bin "hola_mundo") generated 1 warning
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.84s
Running `target\debug\hola_mundo.exe`
La variable contiene el valor: 30
En el siguiente código tenemos una variable, que es eclipsada por la segunda. En efecto, son dos variables diferentes.
Para conseguir hacer esto, solo tenemos que redeclarar variables con la palabra let
.
El valor que se imprime en la consola es el de la segunda variable. Además, me indica con una advertencia, que la variable a
declarada primero, no se está utilizando en el código.
Comentarios
Si te quedan dudas sobre el temario, sobre HTML, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.