Luie evaluatie: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k r2.7.1) (robot Erbij: el:Οκνηρή αποτίμηση |
lf |
||
Regel 17:
takeWhile (<10) (map (+1) [1..])
De notatie <code>[1..]</code> geeft een oneindige lijst van [[Geheel getal|gehele getallen]] vanaf 1. Het opbouwen van deze oneindige lijst is niet mogelijk in talen met [[stricte evaluatie]] maar door luie evalutie is het wel mogelijk er berekeningen mee uit te voeren. De [[hogere-
Door luie evaluatie zal eerst het eerste element van de lijst berekend worden door één keer de functie (+1) toe te passen op het eerste element van de lijst (1). Als deze (1+1 = 2) aan de voorwaarde "kleiner dan 10" voldoet dan zal het volgende element berekend worden. Op deze wijze wordt een nieuw element van de oneindige lijst pas berekend als het echt nodig is voor het antwoord. Wanneer de voorwaarde niet meer geldt, wordt de rest van de lijst ook niet meer uitgerekend.
|