Sombreado - Parte 1
Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 46 de 75.
Puedes declarar una nueva variable con el mismo nombre que una variable anterior en un ámbito diferente. La nueva variable oculta a la anterior hasta el final de su ámbito:
fn main() {
let x = 5;
{
let x = 12;
// oculta la x externa
println!("{}", x);
// imprime "12"
}
println!("{}", x);
// imprime "5"
}Desafío
PrincipianteEscribe un programa en Rust que demuestre el concepto de shadowing (sombreado). Realiza los siguientes pasos:
- Declara una variable llamada
xe inicialízala con el valor5. - Imprime el valor de
xen la consola con el siguiente formato:x is: … - Sombrea
xcon un nuevo valor que sea elxoriginal más3dentro de un nuevo ámbito (scope). - Imprime la
xsombreada en el siguiente formato:x is: … - Finalmente, imprime
xfuera del ámbito en el siguiente formato:x is: …
Hoja de referencia
Puedes declarar una nueva variable con el mismo nombre que una variable anterior en un ámbito diferente. La nueva variable sombrea a la anterior hasta el final de su ámbito:
fn main() {
let x = 5;
{
let x = 12;
// sombrea la x exterior
println!("{}", x);
// imprime "12"
}
println!("{}", x);
// imprime "5"
}Pruébalo tú mismo
fn main() {
// Declara x e inicialízala con 5
// Imprime el valor de x
{
// Sombrea x con el valor original de x más 3
// Imprime el valor de la x sombreada
}
// Imprime el valor de la x exterior
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámica