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();| 0 | 1 |
| 1 | 2 |
| 0 | Neko |
| 0 | Kļū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.