Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Funktionale Programmierung / Daten-Feeds
Der Feed-Operator
Der Feed-Operator ==> schickt eine Liste von links in
die Operation rechts. Das Ergebnis fließt dann dorthin weiter, wohin das
nächste ==> zeigt, und endet in einer Variablen, die es
auffängt:
(1..10) ==> grep(* %% 2) ==> my @evens;
say @evens; # [2 4 6 8 10]Lesen Sie es von links nach rechts: nimm 1..10, behalte
die geraden Zahlen und lege das Ergebnis in @evens ab. Der
Operator %% bedeutet „ist teilbar durch“,
* %% 2 behält also die geraden Zahlen.
Die wichtige Regel ist, dass ein Feed in einem Ziel
enden muss — meist my @array (oder eine bestehende
Variable). Die Daten fließen vorwärts hinein. Die Zuweisung andersherum
zu schreiben, mit =, tut nicht, was Sie wollen, denn Feed
und Zuweisung geraten sich in die Quere; lassen Sie den Feed stets in
seiner Variablen enden.
Ein Feed ist nur eine andere Schreibweise für eine Kette von
Listenoperationen. Dasselbe Ergebnis ließe sich als
my @evens = (1..10).grep(* %% 2) schreiben. Die Feed-Form
kommt zur Geltung, wenn es mehrere Stufen gibt, wie das nächste Thema
zeigt.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Daten-Feeds | Quiz — Der Feed-Operator →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.