i

Der filter-Operator

Die Funktion konzipieren

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

> List.filter
<function> : (a -> Bool) -> List a -> List a
> List.filter (\ x -> x > 0 ) [2, -4.1, 6, 0, -5]
[2,6] : List Float

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

Black-box-Diagramm List.filter[1]

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

Black-box-Diagramm myFilter[2]

Die Implementierung erfolgt mit Hilfe von Rekursion.

module Listenoperatoren exposing (..)

myFilter: (a -> Bool) -> List a -> List a
myFilter funktion liste = 
    case liste of
        [] ->
            ...
        e::r ->
            if ... then ... else ...
> import Listenoperatoren exposing (..)

> myFilter (\ x -> x > 0 ) [2, -4.1, 6, 0, -5]       
[2,6] : List Float

Aufgabe 1

Ergänze die fehlenden Teile in der Implementierung.

Quellen

Suche

v
110.2.11.2.1.2
inf-schule.de/fp_elm_alteversion/elm_programme/funktionenalsdaten/listenoperatoren/lernstrecke/filter
inf-schule.de/110.2.11.2.1.2
inf-schule.de/@/page/Fhf0aqUosNV3KRKS

Rückmeldung geben