Курс по 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. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська