Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Lambda e chiusure / Exercises / Un accumulatore
Soluzione: Un accumulatore
Ecco una possibile soluzione del compito.
Codice
sub make-accumulator {
my $sum = 0;
return -> $x { $sum += $x };
}
my &acc = make-accumulator;
acc(10);
say acc(5);🦋 Trova il programma nel file accumulator.raku.
Output
15Commenti
La chiusura cattura
$sum, che sopravvive fra una chiamata e l’altra.acc(10)porta il totale a10;acc(5)aggiunge cinque e restituisce15.
Navigazione del corso
← Un accumulatore | Riduzione →