map
Die Funktion map in Scheme wendet eine Prozedur auf jedes Element einer Liste (oder mehrerer Listen) an und gibt eine neue Liste mit den Ergebnissen zurück. Ideal für Datentransformationen.
Die einfachste Form von map sieht so aus:
(map procedure list)- Prozedur: Funktion für jedes Listenelement.
- Liste: Zu transformierende Liste.
Beispiel: Elemente verdoppeln
(define (double x)
(* x 2))
(map double (list 1 2 3 4))doublewird auf(1 2 3 4)angewendet.- Ergebnis: neue Liste mit verdoppelten Werten.
Ausgabe: (2 4 6 8)
So funktioniert es
- Neue Liste:
mapsammelt Ergebnisse in einer neuen Liste. - Transformation: Für Datentransformation, nicht Nebeneffekte.
Mehrere Listen
Mit mehreren Listen verarbeitet map Elemente paarweise.
(define (sum x y)
(+ x y))
(map sum (list 1 2 3) (list 4 5 6))Ausgabe: (5 7 9)
Zusammenfassung
maptransformiert Listen elementweise.- Im Gegensatz zu
for-eacherzeugtmapeine neue Liste. - Mehrere Listen werden paarweise verarbeitet.
Mit map erstellen Sie transformierte Datensätze, während Originallisten unverändert bleiben.