Raku kurss / Padziļināti / Konteineri / Speciālie un dinamiskie mainīgie 🆕 / Dinamiskie mainīgie

Viktorīna — Dinamiskie mainīgie

Ko izdrukā šī programma?

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

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

run();
01
12
0Neko
0Kļūdu

show ir uzrakstīta augšējā līmenī, tieši blakus my $*n = 1, taču šim novietojumam nav nozīmes — dinamisks mainīgais tiek meklēts caur izsaukumu steku, nevis pēc tā, kur kods atrodas. Šeit show tiek izsaukta no run, kura $*n pārdeklarēja kā 2, tāpēc spēkā ir šī vērtība un programma izdrukā 2.

Kursa navigācija

Dinamiskie mainīgie   |   Iebūvētie speciālie mainīgie