Cursus Raku / Provectus / Subprogrammata / Subprogrammata nidificata / Exercises / Clausura super externo

Solutio: Clausura super externo

Hic est possibilis solutio operis.

Codex

sub greet($name) {
    sub message {
        "Hello, $name!";
    }

    say message;
}

greet('Anna');

🦋 Codicem fontem in archivo closure-over-outer.raku invenire potes.

Exitus

Hello, Anna!

Commentarii

  1. message nullos argumentos accipit, tamen $name uti potest. Subroutina inclusa super variabiles lexicales subroutinae continentis claudit, itaque $name exterior in ambitu est.

  2. Cum greet('Anna') currit, $name est 'Anna', ergo message Hello, Anna! reddit. Haec communicatio ambitus circumdantis est quod subroutinas auxiliares inclusas plus quam functiones occultas facit.

Clausura super externo   |   Summa interior