Pure functies herkennen
Een pure functie voldoet aan twee eigenschappen:
- De output hangt alleen af van de input: als je dezelfde waarde invoert, is de output altijd hetzelfde.
- Er zijn geen neveneffecten, met andere woorden: geen effect buiten de functie.
Veel functies in R zijn niet puur, maar toch onmisbaar in het dagelijks gebruik van R: tijdens een analyse moet je bestanden downloaden, een plot maken, resultaten opslaan…
Bij het programmeren is het goed om je functies óf zo puur mogelijk, óf juist duidelijk niet-puur te maken (bijvoorbeeld: een functie die een bestand downloadt, zou alleen dat bestand moeten downloaden). Daarvoor moet je eerst een pure functie kunnen herkennen en onderscheiden van een niet-pure functie.
Dat gaan we in deze oefening doen: functies uitvoeren die ofwel puur ofwel niet-puur zijn, en kijken wat hun outputs zijn.
Deze oefening maakt deel uit van de cursus
Gevorderd functioneel programmeren met purrr
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()