Raku-Kurs / Grundlagen / Codeblöcke

Lexikalischer Gültigkeitsbereich

Ein Codeblock erstellt einen sogenannten lexikalischen Geltungsbereich. Variablen, die im aktuellen Block deklariert werden, sind innerhalb dieses Blocks sichtbar, aber nicht mehr, nachdem das Programm den Block verlassen hat. Betrachten Sie ein Beispiel:

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

say $x;

Die Variable $x wird im Codeblock erstellt. Der erste Aufruf von say $x gibt den Wert der Variablen aus, da sie innerhalb des Blocks sichtbar ist. Der zweite say $x schlägt fehl, weil der Name $x außerhalb des Blocks nicht existiert und nach dessen Ende nicht bekannt ist. Das Programm kompiliert nicht und es wird ein Fehler angezeigt:

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

Praxis

Machen Sie das Quiz, das den Inhalt dieses Themas abdeckt.

Kursnavigation

Codeblöcke   |   Codeblöcke / Globale Variablen

Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.

Übersetzungen dieser Seite: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська