Shadowing, parte 2
Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 48 di 75.
Quando metti in ombra una variabile in Rust, la nuova variabile è completamente indipendente da quella originale e ha bisogno della propria dichiarazione di mutabilità. L'ombreggiamento non eredita la mutabilità della variabile originale.
let mut mut_val = 7;
// La variabile originale è mutabile
{
let mut_val = 8;
// Questa è una nuova variabile che oscura la variabile esterna mut_val
mut_val = 50;
// Si è verificato un errore perché
// mut_val non è mutabile
}
// Qui va bene
// mut_val non è bloccata in questo ambito
mut_val = 3;Per risolvere, possiamo aggiungere mut nello scope interno:
{
let mut mut_val = 8;
mut_val = 50;
}Sfida
PrincipianteCorreggi il codice fornito in modo che venga eseguito senza errori.
Provalo tu
fn main() {
// Correggi questo codice per farlo funzionare
let number = 42;
{
let number = number;
println!("number is {}", number);
number = 100; // Questo causerà un errore
println!("number is {}", number);
}
println!("number is {}", number);
}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