Cursus Raku / Geavanceerd / Modules / Basisbeginselen van modules / Exercises

Laden tijdens runtime

Opgave

Je krijgt een module Greeting.rakumod die een subroutine hello exporteert:

unit module Greeting;

sub hello($name) is export {
    "Hello, $name!"
}

Laad deze module met require in plaats van use, zodat deze wordt geladen tijdens de uitvoering. Omdat require namen niet automatisch importeert, som je het gewenste symbool op met require Greeting <&hello>;. Roep vervolgens hello('Sam') aan en druk het resultaat af.

Om te laten zien wat laden tijdens uitvoering oplevert, plaats je de require in een sub MAIN met een --quiet-vlag, zodat de module alleen geladen wordt wanneer er daadwerkelijk een begroeting gewenst is. Met --quiet drukt het programma Silence. af en raakt het de module helemaal niet aan.

Voorbeeld

Uitgevoerd met de module op het zoekpad, drukt het programma af:

$ raku -I. require-import.raku
Hello, Sam!

$ raku -I. require-import.raku --quiet
Silence.

Oplossing

Bekijk de oplossing

Cursusnavigatie

Oplossing: De constante lezen   |   Oplossing: Laden tijdens runtime