Raku kurss / Padziļināti / Moduļi / Pakotnes un vārdtelpas 🆕
Vārdtelpas un our
Deklarators our padara kaut ko redzamu tā vārdtelpā.
Mainīgais, kas deklarēts ar my, ir leksisks — privāts savam
blokam —, savukārt mainīgais, kas deklarēts ar our, ir arī
pakotnes mainīgais, sasniedzams no ārpuses caur ::
ceļu:
module Counter {
our $count = 0; # package variable
my $secret = 42; # lexical, not visible outside
}
say $Counter::count; # 0$Counter::count darbojas, jo count tika
deklarēts ar our; $Counter::secret nedarbotos,
jo secret ir leksisks.
Vārdtelpas var būt ligzdotas. Pakotne pakotnes
iekšienē veido garāku :: ceļu:
module Outer {
module Inner {
our $val = 42;
}
}
say $Outer::Inner::val; # 42Pilnais nosaukums $Outer::Inner::val ved no ārējās
vārdtelpas uz iekšējo un līdz mainīgajam. Tieši tā ir organizēta
standarta bibliotēka — nosaukumi kā IO::Socket::INET ir
ligzdotas vārdtelpas —, un tieši tā modulis, ko jūs rakstāt, grupē savas
daļas zem viena augstākā līmeņa nosaukuma.
Kursa navigācija
← Viktorīna — Pakotnes | Mainīgais ar our →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.