Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmScSh 291 of 373 menu
◀ ▶

Тень имени в Rust

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

Сначала имя получает одно число, затем во вложенном блоке то же имя объявляют снова:

let n = 1; { let n = 2; println!("{}", n); } println!("{}", n);

Сначала на экране 2, затем 1. Снаружи блока остается старое значение внешнего n.

Тень работает и внутри ветки условия. Внешнее имя снова читается после закрывающей скобки ветки:

let flag = 0; if true { let flag = 1; println!("{}", flag); } println!("{}", flag);

Дан следующий код:

let x = 5; { let x = 9; println!("{}", x); } println!("{}", x);

Скажите, что выведется.

Даны переменные:

let m = 0;

Во вложенном блоке объявите m заново со значением 7, выведите его внутри блока, затем выведите m снаружи. Скажите оба числа на экране.

Дан следующий код:

let rate = 2; { let rate = rate + 3; println!("{}", rate); } println!("{}", rate);

Скажите, что выведется.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить