i

Der map-Operator

Die Funktion konzipieren

Die Signatur und das Verhalten des map-Operators lassen sich in einem Elm-Dialog ermitteln.

> List.map
<function> : (a -> b) -> List a -> List b
> List.map round [3.4, 5.1, 7.5, 8.0]
[3,5,8,8] : List Int

Das Black-Box-Diagramm verdeutlicht diese Eigenschaften des map-Operators.

Black-box-Diagramm List.map[1]

Unser Ziel ist es, einen myMap-Operator zu definieren, der sich genauso verhält wie der vordefinierte map-Operator.

Black-box-Diagramm myMap[2]

Die Implementierung erfolgt mit Hilfe von Rekursion.

module Listenoperatoren exposing (..)

myMap: (a -> b) -> List a -> List b
myMap funktion liste = 
    case liste of
        [] ->
            []
        element :: restliste ->
            ...
> import Listenoperatoren exposing (..)

> myMap round [3.4, 5.1, 7.5, 8.0]
[3,5,8,8] : List Int

Aufgabe 1

In der Implementierung fehlt noch die Festlegung für den Fall element :: restliste. Ergänze diesen fehlenden Teil.

Hinweise: Die übergebene Funktion soll auf das erste Element angewandt werden. Die Restliste soll genauso wie die Ausgangsliste verarbeitet werden.

Quellen

Suche

v
110.2.11.2.1.1
inf-schule.de/fp_elm_alteversion/elm_programme/funktionenalsdaten/listenoperatoren/lernstrecke/map
inf-schule.de/110.2.11.2.1.1
inf-schule.de/@/page/ViD5WoGOQbLcSOh3

Rückmeldung geben