Zum Inhalt springen
uencoder

Currying

Currying wandelt eine Funktion mit mehreren Argumenten in eine Reihe von Funktionen mit je einem Argument um: f(a,b,c) → f(a)(b)(c), was partielle Anwendung und Funktionskomposition ermöglicht.

Zweck

Argumente wiederverwenden und Funktionen komponieren, partiell angewendete Funktionen erzeugen und die Flexibilität verbessern.

Mechanismus

f(a,b,c) wird zu a → (b → (c → Ergebnis)). Partielle Anwendung: das Fixieren einiger Argumente ergibt eine neue Funktion. Lodash curry und Ramda curryen automatisch. Kombiniert mit Funktionskomposition lassen sich Pipelines bauen.

Anwendungsfälle

  • Funktionale Programmierung
  • Wiederverwendung von Argumenten
  • Funktionskomposition

Verwandte Begriffe

References