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