s n h m r u
i

Fachkonzept: Funktionen höherer Ordnung

Funktionen höherer Ordnung

Um einige Probleme elegant zu lösen, kann es hilfreich sein Funktionen zu entwerfen, die selbst Funktionen als Übergabedaten erhalten oder Funktionen als Rückgabe liefern. In der Funktionalen Programmierung lassen sich Funktionen dabei wie anderen Datentypen behandeln und entsprechend als Daten übergeben.

Funktionen, die Funktionen als Übergabedaten erhalten und/oder Funktionen als Rückgabedatum liefern, nennen wir Funktionen höherer Ordnung.

Drei klassische Funktionen höherer Ordnung sind die Listenfunktionen:

  • map
  • filter
  • fold

Signaturen von Funktionen höherer Ordnung

Die Signatur einer Funktion höheren Ordnung lässt sich dadurch erkennen, dass mehrere -> in ihr erscheinen, da die Signaturen der akzeptierten übergebenen / zurückgegebenen Listen ebenfalls angegeben werden.

Beispielsweise besitzt die Funktion fold die Signatur (%b (%a %b -> %b) (list-of %a) -> %b).

Beziehungsweise für einen möglichen Aufruf:

(fold 0 + (list 4 7 5 6 9))
die Signatur: (natural (number number -> number) (list-of natural) -> natural), wobei (number number -> number) der übergebenen Funktion + entspricht.

Suche

v
100.137.3.5.1.4 Fachkonzept: Funktionen höherer Ordnung
Kopieren durch Anklicken

Rückmeldung geben