Raku kurss / Padziļināti / Moduļi / Moduļu pamati
Importēšana
Ir vairāk nekā viens veids, kā ienest moduli programmā. Trīs teikumi
use, need un require atšķiras ar
to, kad modulis tiek ielādēts un ko tas padara
pieejamu.
use
Ar use jau esat iepazinušies. Tas ielādē moduli
kompilēšanas laikā un importē tā eksportētos nosaukumus, tāpēc tos var
izsaukt tieši:
use Greeting;
say hello('Anna'); # Hello, Anna!need
Arī need ielādē moduli kompilēšanas laikā, taču tas
neimportē eksportētos nosaukumus. Moduļa our
mainīgos joprojām sasniedzat caur moduļa nosaukumu:
need Greeting;
say $Greeting::version; # 1.0Pēc need Greeting kails hello(...) netiktu
atpazīts, jo nekas netika importēts — pieejami ir tikai kvalificētie
nosaukumi, piemēram, $Greeting::version.
require
require ielādē moduli izpildes laikā, nevis
kompilēšanas laikā. Tas noder, kad līdz pat programmas izpildei nezināt,
vai modulis būs vajadzīgs, — piemēram, kad tā nosaukumu nosaka lietotāja
ievade.
Tā kā ielāde notiek izpildes laikā, nekas netiek importēts automātiski. Uzskaitot vēlamos simbolus leņķa iekavās aiz nosaukuma, tie tiek ievilkti, un tos var izsaukt tieši:
require Greeting <&hello>;
say hello('Anna'); # Hello, Anna!Ikdienas lietošanai vajadzīgs use; need un
require ir retāku gadījumu vajadzībām.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Viktorīna
— use | Viktorīna —
use pret need →
💪 Vai arī dodieties tieši uz šīs sadaļas
vingrinājumiem.