Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Reductie / Exercises / Lijst met komma’s
Oplossing: Lijst met komma’s
Hier is een mogelijke oplossing voor de taak.
Code
my @words = 'Raku', 'is', 'fun';
say @words.reduce(-> $a, $b { "$a, $b" });🦋 Je kunt de broncode vinden in het bestand comma-separated.raku.
Uitvoer
Raku, is, funOpmerkingen
Hier bouwt het blok een waarde in plaats van er een te kiezen:
$ais de tot dan toe samengestelde string en$bis het volgende woord, en"$a, $b"plakt ze met een komma en een spatie aaneen.De eerste aanroep voegt
'Raku'en'is'samen totRaku, is; de tweede voegt dat samen met'fun'totRaku, is, fun. Dit is precies het soort samenvoegen met scheidingsteken dat de meta-operator[~]op zichzelf niet kan uitdrukken.In echte code zou je naar de ingebouwde methode
joingrijpen, die precies dit doet —say @words.join(', ');drukt dezelfdeRaku, is, funaf. De oefening is bedoeld om te oefenen met hetzelfde idee alsreduce-blok uitdrukken.
Cursusnavigatie
← Lijst met komma’s | Datafeeds →