Kurso de Raku / Progresinta / Subprogramoj / Anonimaj subrutinaj / Exercises / Triobligi ĝin

Solvo: Triobligi ĝin

Jen ebla solvo de la tasko.

Kodo

my $factor = 3;
my $scale = -> $x { $x * $factor };

say $scale(7);

🦋 Vi povas trovi la fontkodon en la dosiero triple-it.raku.

Eligo

21

Komentoj

  1. La pinta bloko uzas $factor, variablon el la ĉirkaŭanta amplekso, kvankam ĝi havas nur parametron $x. Kapti tiajn variablojn estas tio, kio faras ĝin fermo.

  2. Kun $factor egala al 3, voko de $scale(7) donas 21. Ŝanĝu $factor kaj la sama bloko skalus per la nova valoro:

$factor = 5;
say $scale(7); # 35

Ĉar la fermo kaptas la variablon anstataŭ ĝian valoron en la momento kiam ĝi estis skribita, la posta voko vidas la ĝisdatigitan $factor kaj liveras 35.

Kursa navigado

Triobligi ĝin   |   Anonima kvadrato