map
-patroon generaliseren Hieronder is een manier om de blokken van de vorige pagina te maken.
overdrijf woord
blok ziet er misschien heel anders uit maar hier is een manier:
meervoud
, kwadraten
en overdrijf woordenlijst
zijn bijna
identiek:
Het enige verschil is het omcirkelde deel hierboven: de functie die wordt uitgevoerd op item 1
van
de invoerlijst. Hier is een generalisatie van dit patroon:
Maar wat stoppen we in het eerste invoervak van voor
?
Er zijn twee kleine details die je moet weten om deze definitie af te maken. Het eerste detail is dat de
invoer voor functie
een rapporteur moet zijn. Je weet al hoe je de invoer een specifiek type
moet maken. Het werkt op dezelfde manier:
De Griekse letter λ die in het blok verschijnt naast functie
herinnert je eraan dat functie
als invoertype een rapporteur heeft. Net zoals dat ︙ zegt dat data
een lijst is.
Nu moet je alleen nog maar weten hoe je de functie uitvoert op item 1 van data
. Vind het
roep aan
blok in het Besturenmenu en klik op het zwarte pijltje om het een tweede invoervak te
geven. Vul het dan zo in:
Het is af! Je hebt nu het map
blok gemaakt, een functie van hogere orde!
Het roep aan
blok vindt lege invoervakken in de functie-invoer en vult ze met de gegeven
invoerwaardes.
overdrijf
blok opnieuw met map
. Wat moet je met de hulpfuncties
doen?
map
patroon volgt, maar
het lijkt er wel heel erg op. In dat geval kan je map
niet gebruiken, maar het helpt
nog steeds dat je het map
patroon begrijpt. Een voorbeeld: maak tweetallen
blok: