Higher-Order Function
Eine Funktion höherer Ordnung nimmt Funktionen als Argumente oder gibt eine Funktion zurück — die zentrale Abstraktion der funktionalen Programmierung, die map/filter/reduce und mehr ermöglicht.
Zweck
Komplexe Logik durch Funktionskomposition ausdrücken und Abstraktions- und Wiederverwendungsniveau erhöhen.
Mechanismus
map(f, list): wendet f auf jedes Element an. filter(pred, list): behält die pred erfüllenden Elemente. reduce(f, init, list): akkumuliert und verschmilzt. curry(f): macht aus einer Funktion mit mehreren Argumenten eine Kette von Ein-Argument-Funktionen.
Anwendungsfälle
- Funktionale Programmierung
- Collection-Operationen
- Funktionskomposition