Kurso de Raku / Progresinta / Moduloj / Bazaj konoj pri moduloj
Eksportaj etikedoj
Markado de subprogramo per is export metas ĝin en la
defaŭltan eksportgrupon de modulo — la nomojn, kiujn simpla
use alportas. Donante al is export
etikedon, vi povas ordigi eksportojn en nomitajn grupojn kaj
lasi ĉiun programon elekti la aron, kiun ĝi volas.
Etikedo estas skribita en krampoj post is export:
unit module Greeting;
sub hello($name) is export { "Hello, $name!" }
sub goodbye($name) is export(:partings) { "Goodbye, $name!" }hello ne havas etikedon, do ĝi apartenas al la defaŭlta
grupo; goodbye estas etikedita per
:partings.
Simpla use importas nur la defaŭltan grupon:
use Greeting; # hello estas disponebla; goodbye ne estasNomante etikedon importas tiun grupon anstataŭe — kaj, eble surprize, ne la defaŭltan kune:
use Greeting :partings; # goodbye estas disponebla; hello ne estasPetante :partings donas al vi ĝuste tiun grupon. Por
enporti ĉion, kion modulo eksportas, uzu la enkonstruitan etikedon
:ALL:
use Greeting :ALL; # ambaŭ hello kaj goodbyeDu specialaj etikedoj indas scii. :ALL estas subtenata
de ĉiu modulo kaj importas ĉiujn ĝiajn eksportojn.
:MANDATORY estas tia, kiun vi povas meti sur rutinon, kiu
estu importita sendepende de tio, kiun etikedon la vokanto elektas.
Ĉiu etikedo estas fakte pako ene de la EXPORT-pako de la
modulo — Greeting::EXPORT::partings, ekzemple — kio estas
precize tio, kion modula
introspekto listigas. Etikedoj permesas al pli granda modulo teni
sian defaŭltan surfacon malgranda, samtempe daŭre ofertante pliajn
funkciojn laŭpete.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Kvizo —
use kontraŭ need | Kvizo — Eksportaj
etikedoj →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.