Zusammensetzen reiner Funktionspipelines
Verketten Sie Transformationen vorhersehbar
Zusammensetzen reiner Funktionspipelines ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Dart Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist eine pure Funktion
Eine pure Funktion liefert für dieselbe Eingabe dasselbe Ergebnis und verändert nichts außerhalb ihrer selbst. Sie ist vorhersehbar und leicht zu testen. ✨
int double(int x) => x * 2; // pureSeiteneffekte erkennen
Eine Funktion mit Seiteneffekten greift auf die Außenwelt zu, etwa durch Ausgaben oder die Veränderung einer globalen Variable. Solche Funktionen sind schwieriger nachzuvollziehen.
var log = [];
void impure(int x) => log.add(x); // side effectWarum Reinheit Pipelines hilft
Pure Funktionen lassen sich sicher verketten, weil jeder Schritt nur von seiner Eingabe abhängt. Sie können sie ohne Überraschungen komponieren.
map und where verketten
Eine Pipeline ist einfach eine Kette von Transformationen. Filtern Sie mit where und formen Sie anschließend mit map um – von oben nach unten gelesen.
var r = [1, 2, 3, 4]
.where((n) => n.isEven)
.map((n) => n * 10);Jeder Schritt ist lazy
where und map geben lazy Iterables zurück, daher wird die gesamte Kette erst bei ihrer Auswertung ausgeführt. Fügen Sie toList hinzu, um die Ergebnisse zu materialisieren.
print(r.toList()); // [20, 40]Mit fold abschließen
Beenden Sie eine Pipeline mit einer Aggregation. Hier summiert fold die gefilterten und transformierten Werte zu einer einzigen Zahl.
var sum = [1, 2, 3, 4]
.where((n) => n.isEven)
.fold(0, (a, b) => a + b);Zwei Funktionen komponieren
Sie können eine neue Funktion erstellen, indem Sie das Ergebnis der einen Funktion in die andere einspeisen. Diese Komposition bedeutet: erst f, dann g ausführen.
int Function(int) compose(
int Function(int) f, int Function(int) g) =>
(x) => g(f(x));Die komponierte Funktion verwenden
Komponieren Sie kleine pure Schritte zu einer wiederverwendbaren Funktion. Das Ergebnis verhält sich wie ein übersichtlicher Transformer mit genau einer Aufgabe.
var f = compose((x) => x + 1, (x) => x * 2);
print(f(3)); // 8Halten Sie die Schritte klein
Kleine, benannte pure Funktionen machen Pipelines selbsterklärend. Jeder Schritt erledigt eine Aufgabe, sodass die Kette wie ein Rezept lesbar ist.
Eingaben nicht verändern
Geben Sie neue Werte zurück, statt Argumente direkt zu verändern. Unveränderte Eingaben machen eine Pipeline vertrauenswürdig.
List<int> bump(List<int> xs) =>
xs.map((x) => x + 1).toList();Eine vollständige Pipeline
Alles zusammen: filtern, transformieren und anschließend aggregieren. Eine gut lesbare Pipeline verwandelt Rohdaten in ein fertiges Ergebnis.
var avgx10 = [2, 4, 6]
.map((n) => n * 10)
.reduce((a, b) => a + b);Schnelltest
Ermitteln Sie, was eine Funktion pure macht.
Zusammenfassung
Pure Funktionen lassen sich zu klaren, lazy Pipelines komponieren: filtern, map anwenden und anschließend aggregieren. Kleine Schritte führen vorhersehbar zu großen Ergebnissen. 🎯
Lerne Dart mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Zusammensetzen reiner Funktionspipelines“ kostenlos?
Ja — der vollständige Text von „Zusammensetzen reiner Funktionspipelines“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Dart Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zusammensetzen reiner Funktionspipelines“?
Verketten Sie Transformationen vorhersehbar Du übst Dart Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Dart Academy zu starten?
Keine Vorkenntnisse erforderlich. Dart Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Zusammensetzen reiner Funktionspipelines“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Dart Academy-Lektion Code schreiben und ausführen?
Ja. Jede Dart Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Funktionen höherer Ordnung und Currying
- fold, reduce und expand
- Faule Iterables und Generatoren mit sync*
- Zusammensetzen reiner Funktionspipelines