Les 5 - Parameters doorgeven.
Wat leer je in deze les??
- Parameters doorgeven.
- Software bibliotheken (libraries).
- Hoe maak je je eigen functies met parameters?
- Parameters op naam.
1 - Parameters doorgeven
Zoals je in andere lessen hebt kunnen lezen: bijna alles
in Elm zijn functies. Dit omvat ook de woorden
circle, triangle, square, en andere.
Als we bijvoorbeeld typen:
circle yellow 100
circle is de naam van een functie die twee parameters heeft: een kleur en een diameter. Dus, wanneer we een cirkel maken, moeten we 2 argumenten (in volgorde) doorgeven.
Deze circle-functie is gedefinieerd binnen Playground, dat een bibliotheek van Elm is.
2 - Software bibliotheken (libraries)
Bij het ontwikkelen van software kom je
verschillende problemen tegen die andere mensen al eerder zijn tegengekomen en hebben opgelost.
In deze gevallen kun je reeds bestaande oplossingen hergebruiken,
waardoor jouw werk gemakkelijker wordt.
Bijvoorbeeld: het tekenen van een element op het scherm is een
terugkerende taak en wordt gebruikt voor verschillende programma's.
Daarom heeft een andere ontwikkelaar dit probleem al opgelost
en kun je zijn of haar werk hergebruiken om jouw programma's te ontwikkelen.
Deze set code, geschreven door andere mensen, noemen we bibliotheken (libraries). Tot nu toe hebben we één bibliotheek gebruikt, de Playground. Deze bevat functies die we kunnen gebruiken
om figuren op het scherm te tekenen en te animeren.
3 - Hoe maak je je eigen functies met parameters?
De functies die je definieert in jouw codes, kunnen ook parameters hebben.
Kijk naar het onderstaande voorbeeld en probeer te
begrijpen wat er gebeurt. Geef speciaal
aandacht aan de definitie van de functie fruit.
import Playground exposing (..)
main =
picture
[ stam
, bladeren
, fruit 50 50
, fruit -40 20
, fruit -50 100
, fruit 40 130
]
stam =
rectangle darkBrown 60 250
|> move 0 -150
bladeren =
circle green 150
|> move 0 50
fruit x y =
circle red 20
|> move x y
Het eindresultaat is hetzelfde als van de uitdaging
uit de vorige les: een boom met fruit. Maar de code is
kleiner en eenvoudiger.
Bovendien is het nu gemakkelijker om nieuw
fruit aan je boom te tekenen!
De functie fruit gedefinieerd in de bovenstaande code is nu afhankelijk van twee parameters: x en y. Dit betekent dat wanneer je deze functie gebruikt, je twee argumenten (waarden) moet doorgeven.
👩🏫 Tip: In sommige programmeertalen moeten we expliciet specificeren welk type elke variabele is. In Elm is dit niet nodig. De taal is slim genoeg om uit te zoeken dat x en y, in dit geval, getallen zijn.
Merk ook op dat we binnen de fruit functie de waarden van x en y doorgeven aan een andere functie op de volgende regel:
move x y
Dat wil zeggen, move is ook een functie met parameters. In feite verwachten de meeste functies in Elm ten minste 1 parameter.
4 - Parameters op naam
Hoewel de namen van de parameters in het vorige voorbeeld uit slechts één karakter (x en y) bestaan, kun je langere en meer betekenisvolle namen kiezen. Een voorbeeld hiervan zou kunnen zijn:
fruit positieX positieY =
circle red 20
|> move positieX positieY
Maar in dit specifieke geval waren de vorige namen (x en y) misschien al duidelijk genoeg.
🚨 Belangrijk: goede namen geven aan onze variabelen en functies is een van de moeilijkste taken in het programmeren! Dus, denk lang en goed na voordat je een naam kiest en verander hem, indien nodig, naar een meer beschrijvende naam wanneer je vindt dat de code verwarrend wordt.
En nu?
Nu is het tijd om aan de slag te gaan en nog meer te oefenen!
Ga naar Les 5 opdrachten en veel succes met oefenen!