Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Concurrent programmeren / Promises / Exercises / Wacht op meerdere
Oplossing: Wacht op meerdere
Hier is een mogelijke oplossing voor de taak.
Code
my @words = <apple pear plum>;
my @jobs = @words.map(-> $w { start { $w.uc } });
say await @jobs;🦋 Je kunt de broncode vinden in het bestand await-many.raku.
Uitvoer
(APPLE PEAR PLUM)Opmerkingen
@words.map(-> $w { start { $w.uc } })maakt van elk woord een eigen promise, zodat alle drie gelijktijdig in hoofdletters gezet worden. Het pointy block noemt het woord$w, zodat elke promise het juiste woord vastlegt.await @jobswacht op de hele lijst en geeft de resultaten in hun oorspronkelijke volgorde terug, wat(APPLE PEAR PLUM)geeft.