# Bijwerkingen: meer dan een antwoord [Begrippen uitgelegd](LEESMIJ.md) Een functie heeft een **bijwerking** als zij iets merkbaars doet naast een antwoord teruggeven. Een bericht tonen, een lijn tekenen, een gedeelde lijst veranderen of gegevens bewaren zijn bijwerkingen. De naam betekent niet dat het effect slecht is. Tekenen is precies wat je van een tekenopdracht wilt. Het betekent dat je moet opletten wat de aanroep verandert. ```pliro # taal: nl functie begroet(naam): zeg "Hallo " + naam geef 7 laat resultaat = begroet("Mila") zeg resultaat ``` De begroeting verschijnt terwijl de functie draait. Zeven is haar aparte terugkeerwaarde, die de laatste opdracht toont. ## Zuivere functies Een **zuivere functie** berekent haar antwoord uit haar argumenten zonder iets buiten de aanroep te veranderen. Dezelfde argumenten leveren hetzelfde antwoord op. Een kleine functie die een meegegeven getal verdubbelt, kan zuiver zijn. Een functie die de speler een vraag stelt, is dat niet. Zuivere berekeningen zijn vaak eenvoudig te testen: geef bekende invoer en vergelijk het antwoord. Controleer bij bijwerkingen ook wat er getoond, veranderd of bewaard is. Een **deterministische** bewerking heeft een voorspelbaar resultaat bij dezelfde relevante begintoestand en invoer. Een vaste tekening kan deterministisch zijn en toch een bijwerking hebben. Die woorden beantwoorden verschillende vragen. Roep `begroet` twee keer aan. Hoeveel begroetingen verschijnen, ook als je niet beide terugkeerwaarden bewaart? [Terugkeerwaarden](terugkeerwaarden.md) ยท [Waarden veranderen](waarden-veranderen.md)