Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Iterators / Exercises / Optellen met pull-one
Oplossing: Optellen met pull-one
Hier is een mogelijke oplossing voor de taak.
Code
my $it = (3, 7, 5).iterator;
my $sum = 0;
loop {
my $v := $it.pull-one;
last if $v =:= IterationEnd;
$sum += $v;
}
say $sum;🦋 Je kunt de broncode vinden in het bestand sum-with-pull-one.raku.
Uitvoer
15Opmerkingen
.iteratorgeeft de op ophalen gebaseerde kijk op de lijst, en elkepull-onegeeft het volgende getal terug.De waarde wordt met
:=gebonden, niet toegekend, zodat$v =:= IterationEndhet einde correct kan opmerken — een toekenning met=zou de container vergelijken in plaats van de waarde. De lus telt3,7en5op, komt daarnaIterationEndtegen en stopt, met15als resultaat.