Cursus Raku / Geavanceerd / Containers / Speciale en dynamische variabelen / Dynamische variabelen

Quiz — Dynamische variabelen

Wat print het volgende programma?

my $*n = 1;
sub show { say $*n }

sub run {
    my $*n = 2;
    show();
}

run();
01
12
0Nothing
0An error

show is geschreven op het bovenste niveau, direct naast my $*n = 1, maar die plaatsing doet er niet toe — een dynamische variabele wordt opgezocht via de call stack, niet op basis van waar de code staat. Hier wordt show aangeroepen vanuit run, die $*n opnieuw declareerde als 2, dus dat is de geldende waarde en het programma print 2.

Cursusnavigatie

Dynamische variabelen   |   Ingebouwde speciale variabelen