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
21Komentoj
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.Kun
$factoregala al3, voko de$scale(7)donas21. Ŝanĝu$factorkaj 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.