i

Der Datentyp Maybe

Die Typbeschreibung untersuchen

In der Dokumentation (siehe Elm - Maybe) findet man folgende Typbeschreibung für den Datentyp Maybe ....

type Maybe a
    = Just a
    | Nothing

Wenn man die Typvariable a mit Int konkretisiert, dann heißt das, dass es genau zwei Sorten von Daten vom Datentyp Maybe Int gibt: Zum einen Daten wie Just 2 oder Just -4, die besagen, dass genau die betreffende Int-Zahl gemeint ist. Zum anderen gibt es den Datenwert Nothing, der besagt, dass es sich um nichts dergleichen (hier: um keine Int-Zahl) handelt.

Mit Daten vom Datentyp Maybe Int kann man genauso umgehen wie mit anderen Daten auch.

module TestMaybe exposing (..)

x : Maybe Int
x = Just 2

y : Maybe Int
y = Nothing
> import TestMaybe exposing (..)
> x
Just 2 : Maybe Int
> y
Nothing : Maybe Int

Aufgabe 1

(a) Teste das selbst in der REPL.

(b) Teste analog den Datentyp Maybe Float oder Maybe String.

Pattern Matching

Um auf die Werte von Maybe-Daten zuzugreifen, verwendet man das Pattern Matching z.B. in der folgenden Art:

f : Maybe Int -> String
f wert =
    case wert of
        Nothing -> "Keine Zahl"
        Just _ -> "Zahl"

g : Maybe Int -> Int
g wert =
    case wert of
        Nothing -> -1
        Just n -> n

Aufgabe 2

Teste die beiden Funktionen in der REPL und erkläre wie sie funktionieren.

Suche

v
8.2.2.9.1.1.3
dev.inf-schule.de/deklarativ/fp_elm/elm_programme/fehlerbehandlung/benutzereingaben/lernstrecke/maybe
dev.inf-schule.de/8.2.2.9.1.1.3
dev.inf-schule.de/@/page/aIcIB4FzuFTiFTTd

Rückmeldung geben