Курс Раку / Основи / Блоки коду

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

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

{
    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;

Практика

Виконайте вікторину, що охоплює зміст цієї теми.

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

Блоки коду   |   Блоки коду / Глобальні змінні

Ця сторінка автоматично перекладена за допомогою ChatGPT 4o. Оригінальний текст англійською мовою.

Переклади цієї сторінки: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська