Cursus Raku / Essentiëlen / Code blokken
Lexicaal bereik
Een codeblok creëert een zogenaamde lexicale scope. Variabelen die in het huidige blok worden gedeclareerd, zijn binnen dat blok zichtbaar, maar niet nadat het programma het blok verlaat. Overweeg een voorbeeld:
{
my $x = 42;
say $x;
}
say $x;
De variabele $x
wordt in het codeblok gecreëerd. De eerste aanroep van say $x
drukt de waarde van de variabele af omdat deze binnen het blok zichtbaar is. De tweede say $x
faalt omdat de naam $x
buiten het blok niet bestaat en niet bekend is nadat het blok is geëindigd. Het programma compileert niet en je krijgt een foutmelding:
===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;
Cursusnavigatie
← Code blokken | Code blokken / Globale variabelen →
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська