Введение в области видимости в Rust
Имя видно только в том блоке, где его объявили. Область видимости - это кусок программы, где по имени можно получить значение. Пока команда стоит внутри такого куска, компилятор находит переменную. За пределами области обращение к тому же имени не сработает: там оно либо не объявлено, либо относится к другой переменной.
Области вкладываются друг в друга. Внутри функции можно объявить имя, которое снаружи тела не видно. Внутри фигурных скобок можно ввести еще одно имя, которое исчезнет после закрывающей скобки. Так программа держит короткие имена локально и не мешает им друг другу в соседних фрагментах.
Одинаковое написание имени в двух областях не всегда означает одну переменную. Параметр функции виден только в ее теле. Во вложенном блоке внутреннее имя с тем же текстом может на время закрыть внешнее. После выхода из блока снова читается внешнее имя со старым смыслом, если его значение не меняли снаружи.
В этом разделе разберем локальные имена в скобках, параметры функций, тень во вложенных блоках и переменную перебора в цикле. На задачах проверим, где имя видно, где программа не соберется и какое значение останется после вложенного блока.