Transformeren van alle items in een lijst

Op deze pagina gebruik je ADT's (Abstracte Datatypes) met het map-blok om alle namen in je contactenlijst weer te geven.

Zoals je weet stelt het houd-blok je in staat alle items door te nemen met gebruik van een predicaat, en het geeft alleen de items door die het predicaat waar maken. Het Geen Afbeelding blok stelt je ook in staat om in een keer door een hele lijst te werken. Map zorgt ervoor dat je dezelfde functie uit kan voeren op ieder item in een lijst.

Map ontvangt twee invoeren: een functie (met een leeg invoervak) en een lijst, en het rapporteert een nieuwe lijst.
Elk item in deze nieuwe lijst is het resultaat van het aanroepen van de functie met een item uit de oorspronkelijke lijst als invoer.
Bijvoorbeeld:
Geen Afbeelding

Geen Afbeelding

Je schrijft zelf de functie die de items aanpast, en map past die functie toe op elk item in de invoerlijst en rapporteert daarna de lijst met resultaten.

Zie je dat de invoerfunctie voor map altijd een leeg invoervak heeft? Bij het houd blok was dat ook zo. Deze lege plek is waar een item uit de lijst naartoe gaat, elke keer dat de functie wordt uitgevoerd.

  1. Open je H3L1-Contactenlijst project.
  2. Geen Afbeelding
    Experimenteer met de volgende voorbeelden van map. Overleg samen en leg daarna in je eigen woorden uit wat deze expressies doen.

    Geen Afbeelding
    Geen Afbeelding
    Geen Afbeelding

  3. Gebruik het map blok samen met de selector Geen Afbeelding om een lijst met alleen de namen van alle contacten te rapporteren.

Test jezelf: map blok

Deze vraag heeft betrekking op deze twee lijsten:
Geen Afbeelding
Geen Afbeelding

Welke van deze stellingen is waar? Kies alle opties waarvan je denkt dat ze waar zijn.

Geen Afbeelding rapporteert de lijst{k, 5, v, i, 3, v, 2, 3, d, 6}.
Geen Afbeelding rapporteert de lijst {konijn}.
Geen Afbeelding rapporteert de lijst {Leeuwarden, Assen, Maastricht, Middelburg}.
Geen Afbeelding rapporteert de lijst {L, A, M, M}.
Geen Afbeelding rapporteert de lijst {Friesland, Drenthe, Limburg, Zeeland}.
Terug Volgende