Hogere-ordefunctie

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Hogere-orde functie)
Ga naar: navigatie, zoeken

In de wiskunde en in de informatica is een hogere-ordefunctie (of een functionaal) een functie die aan één van de volgende voorwaarden voldoet:

  • de functie heeft één of meerdere functies als invoer,
  • de functie levert een functie als uitvoer.

In de wiskunde zijn deze ook bekend als operatoren of functionalen. De afgeleide in de analyse is een bekend voorbeeld aangezien het een functie afbeeldt op een andere functie.

Voorbeelden[bewerken]

De map functie in veel functionele programmeertalen is een voorbeeld van een hogere-ordefunctie. Deze functie neemt een functie f als invoer en geeft een functie terug die een lijst als invoer neemt en f toepast op elk element van de lijst.

Andere voorbeelden zijn functie-compositie, fold, filter en integreren.

Python[bewerken]

Het volgende stuk Python code bevat een gewone functie f en een hogere-ordefunctie g:

def f(x):
    return x + 3
def g(function, x):
    return function(x) * function(x)
print(g(f, 7))

De functie g krijgt een functie mee, in dit geval f, en de waarde 7. De meegegeven functie wordt tweemaal toegepast om uiteindelijk de waarde 100 te berekenen: (7 + 3) * (7 + 3).