Kurso de Raku / Progresinta / Moduloj / Pakoj kaj nomspacoj / Exercises / Nestita nomo
Solvo: Nestita nomo
Jen ebla solvo de la tasko.
Kodo
module Outer {
module Inner {
our $base = 10;
our sub doubled { $base * 2 }
}
}
say $Outer::Inner::base;
say Outer::Inner::doubled();🦋 Vi povas trovi la fontkodon en la dosiero nested-name.raku.
Eligo
10
20Komentoj
Nesti unu nomspacon ene de alia konstruas pli longan vojon
::. Kaj la variablo kaj la subrutino loĝas du nivelojn profunde, enOuter::Inner.La plena nomo
$Outer::Inner::baseatingas la variablon, kajOuter::Inner::doubled()atingas la subrutinon tra la samaj du niveloj. Suba nomo portas neniun sigelon, do malsame ol la variablo ĝi havas neniun$antaŭe.Ambaŭ membroj estas deklaritaj per
our, kio estas tio, kio faras ilin videblaj ekster sia modulo. Deklaro permyestus teninta ilin privataj alInner.