Menu
Coddy logo textTech

Przesłanianie, część 2

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 48 z 75.

Gdy przesłaniasz zmienną w Rust, nowa zmienna jest całkowicie niezależna od pierwotnej i wymaga własnej deklaracji mutowalności. Przesłanianie nie dziedziczy mutowalności pierwotnej zmiennej.

let mut mut_val = 7;
// Pierwotna zmienna jest modyfikowalna
{ 
    let mut_val = 8;
    // To nowa zmienna, która przesłania zewnętrzną zmienną mut_val
      
    mut_val = 50;
    // Wystąpił błąd, ponieważ
    // mut_val nie jest modyfikowalna
}
// Tutaj jest to dozwolone 
// mut_val nie jest niezmienna w tym zakresie
mut_val = 3;

Aby to naprawić, możemy dodać mut w wewnętrznym zakresie:

{
	let mut mut_val = 8;
	mut_val = 50;
}
challenge icon

Wyzwanie

Początkujący

Popraw podany kod, aby działał bez błędów.

Spróbuj swoich sił

fn main() {
    // Popraw ten kod, aby działał
    let number = 42;
    {
        let number = number;
        println!("number is {}", number);
        number = 100;  // To spowoduje błąd
        println!("number is {}", number);
    }
    println!("number is {}", number);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online