Übungen
Aufgabe 1
Der folgende REPL-Dialog verdeutlicht das Verhalten der vordefinierten Funktionen List.minimum
und List.maximum
.
Warum liefern die beiden Funktionen Daten vom Typ Maybe number
? Für welche Liste wird wohl der Datenwert Nothing
zurückgegeben?
Aufgabe 2
Der folgende REPL-Dialog verdeutlicht das Verhalten einer Funktionen elementAnPos
.
Entwickle eine Funktionsdefinition. Nutze dazu vordefinierte Funktionen aus dem Modul List
. Du findest die Dokumentation zu List
unter https://package.elm-lang.org/packages/elm/core/latest/List.
Aufgabe 3
(a) Schreibe eine Funktion, die ein Maybe-Element eines beliebigen Typs entgegennimmt und den Wert des Elements zurückgibt, falls es vorhanden ist. Andernfalls - wenn der Wert also Nothing
ist - soll die Funktion einen Standardwert zurückgeben. Ein Aufruf erfolgt zum Beispiel wie folgt:
(b) Vergleiche deine Lösung mit der Implementierung der Funktion Maybe.withDefault
aus dem Modul Maybe
. Du findest die Dokumentation zu Maybe
unter https://package.elm-lang.org/packages/elm/core/latest/Maybe. Den Quellcode von Maybe.withDefault
findest du, wenn du auf den Link Source
klickst und dann im Ordner src
nach Maybe.elm
suchst.
Aufgabe 4
Schreibe eine Funktion, die zwei Zahlen übergeben bekommt und vielleicht einen Gewinn zurückgibt - nämlich, dann wenn die Zahlen gleich sind. Wie der Gewinn genau aussieht, bleibt dir überlassen.