Курс по 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;

Практика

Попълнете теста, който обхваща съдържанието на тази тема.

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

Кодови блокове   |   Кодови блокове / Глобални променливи

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

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