Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Functioneel programmeren / Datafeeds
De feed-operator
De feed-operator ==> stuurt een lijst van links naar
de bewerking rechts. Het resultaat stroomt daarna door naar waar de
volgende ==> heen wijst, en eindigt in een variabele die
het opvangt:
(1..10) ==> grep(* %% 2) ==> my @evens;
say @evens; # [2 4 6 8 10]Lees het van links naar rechts: neem 1..10, houd de even
getallen, en bewaar het resultaat in @evens. De operator
%% betekent “is deelbaar door”, dus * %% 2
houdt de even getallen.
De belangrijke regel is dat een feed in een doel moet
eindigen — meestal my @array (of een bestaande
variabele). De gegevens stromen er voorwaarts in. De toekenning andersom
schrijven, met =, doet niet wat je wilt, omdat de feed en
de toekenning met elkaar concurreren; laat de feed altijd in zijn
variabele eindigen.
Een feed is slechts een andere manier om een keten lijstbewerkingen
te schrijven. Hetzelfde resultaat had je als
my @evens = (1..10).grep(* %% 2) kunnen schrijven. De
feed-vorm komt tot zijn recht wanneer er meerdere fasen zijn, zoals het
volgende onderwerp laat zien.
Praktijk
Maak de 1 quiz over de inhoud van dit onderwerp.
Cursusnavigatie
← Datafeeds | Quiz — De feed-operator →
💪 Of ga direct naar
de oefeningen in deze sectie.