Shadowing, parte 1
Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 46 di 75.
Puoi dichiarare una nuova variabile con lo stesso nome di una variabile precedente in un ambito diverso. La nuova variabile nasconde quella precedente fino alla fine del suo ambito:
fn main() {
let x = 5;
{
let x = 12;
// oscura la x esterna
println!("{}", x);
// stampa "12"
}
println!("{}", x);
// stampa "5"
}Sfida
PrincipianteScrivi un programma Rust che dimostri il concetto di shadowing. Esegui i seguenti passaggi:
- Dichiara una variabile chiamata
xe inizializzala con il valore5. - Stampa il valore di
xnella console nel seguente formato:x is: … - Fai shadowing di
xcon un nuovo valore pari al valore originale dixpiù3all'interno di un nuovo ambito. - Stampa
xdopo lo shadowing nel seguente formato:x is: … - Infine, stampa
xal di fuori dell'ambito nel seguente formato:x is: …
Provalo tu
fn main() {
// Dichiara x e inizializzala con 5
// Stampa il valore di x
{
// Ridefinisci x usando il valore originale di x più 3
// Stampa il valore della x ridefinita
}
// Stampa il valore della x esterna
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Input/output di base
Stampare sulla consoleLeggere l'input dell'utenteRiepilogo - Fino a 120Riepilogo - Vero o falso5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Ripasso - Logica sempliceOperatori logici Parte 311Funzioni
Dichiarare le funzioniParametri e argomentiValori restituitiValori restituiti multipliRiepilogo - funzione SigmaRiepilogo - funzione di validazione14Iterare sugli array
Guida ai rangeCiclo for avanzatoPrestito nel cicloOperazioni comuni sugli array3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneInferenza del tipoRipasso - Inizializzare le variabiliConversione di tipo9Cicli
Ciclo for su sequenzeCiclo whileBreakContinueCiclo annidatoEtichette dei cicliCiclo infinitoRiepilogo - Input dinamico12Fondamenti degli array
Dichiarare gli arrayArray come parametroAccedere agli elementiModificare gli arrayRiepilogo - Stampare un array in modo leggibile15Operazioni sulle stringhe
Metodi delle stringheMacro format!Conversione delle stringheRipasso - FormattazioneEsercitati da solo: Compilatore Rust online