Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Concurrent programmeren / hyper en race 🆕 / Exercises / hyper met een filter
Oplossing: hyper met een filter
Hier is een mogelijke oplossing voor de taak.
Code
say (1..20).hyper.grep(* > 10).map(*²);🦋 Je kunt de broncode vinden in het bestand hyper-filter.raku.
Uitvoer
(121 144 169 196 225 256 289 324 361 400)Opmerkingen
*²is slechts Raku’s schrijfwijze met superscript voor* ** 2: de²is een postfix-machtsoperator, dus*²is eenWhateverCodedie haar argument kwadrateert. Schrijf* ** 2als je dat liever hebt..hyperparallelliseert de hele keten — degrepdie de getallen boven10houdt en demapdie ze kwadrateert — met behoud van de volgorde.Omdat de volgorde bewaard blijft, komen de kwadraten in dezelfde volgorde terug als hun invoer (
11²,12², …,20²), wat(121 144 169 196 225 256 289 324 361 400)geeft.