Kurso de Raku / Progresinta / Ujoj / Specialaj kaj dinamikaj variabloj / Exercises
Dinamika variablo
Problemo
Dinamika variablo — skribita kun la tvigilo * — estas
serĉata per trarigardo eksteren tra la voka stako, ne per leksika
amplekso. Do la valoro, kiun subrutino vidas, dependas de tiu, kiu vokis
ĝin, kio ebligas al bloko ruli la kodon, kiun ĝi vokas, sub malsama
identeco.
- Deklaru dinamikan variablon
$*userkun la valoro'guest'. - Skribu subrutinon
whoami, kiu presasrunning assekvatan de la nuna$*user(ekzemple,running as guest). Ĝi devas legi$*userrekte — ĝi prenas neniun parametron. - Voku
whoamiunufoje ĉe la supra nivelo: ĝi raportasguest. - Poste, ene de bloko kiu redeklaras
$*userkiel'admin', voku la samanwhoamidenove: ĝi nun raportasadmin.
Ekzemplo
La programo presas:
running as guest
running as admin