Cursus Raku / Provectus / Moduli / Fundamenta modulorum / Exercises / Tempore exsecutionis onerare

Solutio: Tempore exsecutionis onerare

Ecce solutio possibilis huius exercitationis.

Codex

Programma, require-import.raku:

sub MAIN(Bool :$quiet) {
    if $quiet {
        say 'Silence.';
    }
    else {
        require Greeting <&hello>;
        say hello('Sam');
    }
}

🦋 Utrumque archivum fontem in directoria exercises/advanced/modules-basics/require-at-runtime invenies.

Exitus

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

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

Commentarii

  1. require modulum tempore exsecutionis potius quam tempore compilationis onerat. Per se nihil importat, quapropter nudum hello ignotum esset.

  2. Index <&hello> require iubet illud unum symbolum importare, itaque post enuntiatum hello('Sam') directe vocari potest, unde Hello, Sam!.

  3. Hoc est id cui require servit: quia tempore exsecutionis currit, intra if sedere potest. Cum --quiet datur, ille ramus praetermittitur et modulus numquam oneratur — quod use tempore compilationis vitare non posset.

Tempore exsecutionis onerare   |   Introspectio modulorum