karta
Funktionen map i Schema används för att tillämpa en procedur på varje element i en lista (eller flera listor) och returnera en ny lista som innehåller resultaten. Detta gör den idealisk för att transformera data.
Den enklaste formen av map ser ut så här:
(map procedure list)- Procedur: En funktion som ska tillämpas på varje element i listan.
- Lista: Listan vars element kommer att transformeras.
Exempel: Dubbla varje element
(define (double x)
(* x 2))
(map double (list 1 2 3 4))- Här tillämpas funktionen
doublepå varje element i listan(1 2 3 4). – Resultatet är en ny lista med varje element fördubblat.
Utdata: (2 4 6 8)
Hur det fungerar
Skapar en ny lista:
maptillämpar den tillhandahållna proceduren på varje element i listan och samlar resultaten till en ny lista.
Transformerar data: – Det används främst för datatransformationer snarare än att utföra biverkningar.
Exempel: Användning med flera listor
Om flera listor tillhandahålls, behandlar map motsvarande element från varje lista.
(define (sum x y)
(+ x y))
(map sum (list 1 2 3) (list 4 5 6))- Funktionen
sumlägger till motsvarande element från de två listorna och returnerar resultaten som en ny lista.
Utdata: (5 7 9)
Sammanfattning
- Funktionen
mapär ett kraftfullt verktyg för att transformera listor genom att tillämpa en procedur på varje element. - Till skillnad från
for-each,mapproducerar en ny lista som innehåller resultaten av tillämpningen av proceduren. - Det stöder flera listor, vilket tillåter elementvisa operationer över dem.
Genom att använda map kan du effektivt skapa transformerade versioner av dina data samtidigt som de ursprungliga listorna behålls oförändrade.