Курс Raku / Основи / Основи порядку виконання / Блоки коду

Лексична область видимості

Блок коду створює так званий лексичний обсяг. Змінні, оголошені в поточному блоці, видимі всередині нього, але не після виходу програми з блоку. Розглянемо приклад:

{
    my $x = 42;
    say $x;
}

say $x;

Змінна $x створюється в блоці коду. Перше викликання say $x виводить значення змінної, оскільки вона видима всередині блоку. Друге say $x не вдається, тому що ім’я $x не існує поза блоком і не відоме після його завершення. Програма не компілюється, і ви отримуєте помилку:

===SORRY!=== Error while compiling /Users/ash/raku-course/t.raku
Variable '$x' is not declared
at /Users/ash/raku-course/t.raku:6
------> say ⏏$x;

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Блоки коду   |   Тест — Лексична область видимості