Курс по 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 тест върху съдържанието на тази тема.

Навигация в курса

Кодови блокове   |   Тест — Лексикален обхват