Dart Academy · Lektion

Zusammensetzen reiner Funktionspipelines

Verketten Sie Transformationen vorhersehbar

Lektion 4 von 413 Schritte

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; // pure

Seiteneffekte 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 effect

Warum 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)); // 8

Halten 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. 🎯

Kostenlos starten

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

  1. Funktionen höherer Ordnung und Currying
  2. fold, reduce und expand
  3. Faule Iterables und Generatoren mit sync*
  4. Zusammensetzen reiner Funktionspipelines
← Zurück zu Dart Academy