Menu
Coddy logo textTech

Затенение, часть 1

Часть раздела Fundamentals путешествия по Rust на Coddy — урок 46 из 75.

Вы можете объявить новую переменную с тем же именем, что и у предыдущей переменной, в другой области видимости. Новая переменная затеняет предыдущую до конца своей области видимости:

fn main() {
    let x = 5;
    {
        let x = 12;
        // затеняет внешнюю x
        println!("{}", x);
        // выводит "12"
    }
    
    println!("{}", x);
    // выводит "5"
}
challenge icon

Задание

Новичок

Напишите программу на Rust, которая демонстрирует концепцию затенения (shadowing). Выполните следующие шаги:

  1. Объявите переменную с именем x и инициализируйте её значением 5.
  2. Выведите значение x в консоль в следующем формате: x is: …
  3. Затените x новым значением, которое равно исходному x плюс 3 внутри новой области видимости.
  4. Выведите затенённую переменную x  в следующем формате: x is: …
  5. Наконец, выведите x вне области видимости в следующем формате: x is: …

Шпаргалка

Вы можете объявить новую переменную с тем же именем, что и у предыдущей переменной, в другой области видимости. Новая переменная затеняет предыдущую до конца своей области видимости:

fn main() {
    let x = 5;
    {
        let x = 12;
        // затеняет внешнюю x
        println!("{}", x);
        // выводит "12"
    }
    
    println!("{}", x);
    // выводит "5"
}

Попробуйте сами

fn main() {
    // Объявляем x и инициализируем его значением 5
    
    // Выводим значение x
    
    {
        // Затеняем x, прибавляя 3 к исходному значению x
        
        // Выводим значение затененного x
        
    }
    // Выводим значение внешнего x
    
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals