Daten hinzufügen
Optionale Vorbereitung
Du benötigst die Notenliste in den weiteren Abschnitten noch einige male.
Damit du diese nicht immer in die REPL kopieren musst, kannst du mit elm init
ein neues Projekt erzeugen und dann die Datei Main.elm mit folgendem Inhalt anlegen.
(Wenn du nicht mehr weißt wie man ein Projekt anlegt, kannst du dies im Abschnitt
Vertiefung - Module und Elm-Projekte
noch einmal nachlesen.)
module Main exposing (..)
notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
Du kannst dann in der REPL das Modul importieren und auf die Notenliste zugreifen:
> import Main exposing (..)
> notenliste
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
Alle Inhalte, die du nicht nur kurz in der REPL testen möchtest, sondern gerne speichern möchtest, kannst du in der Datei Main.elm speichern und danach in der REPL darauf zugreifen.
Eine Notenliste ergänzen
Es gab zahlreiche Nachschriften bei der letzten Kursarbeit. Es müssen also Noten in die Liste hinzugefügt werden.
> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> notenliste2 = 11 :: notenliste
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> notenliste3 = notenliste2 ++ [3, 6]
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12,3,6]
: List number
> notenliste4 = List.append [13] notenliste3
[13,11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12,3,6]
: List number
Aufgabe 1
(a) Analysiere den REPL-Dialog und führe selbst ähnliche Dialoge durch.
Beschreibe, was die Listenoperatoren ::
und ++
bewirken.
Gehe dabei auf den Unterschied zwischen den beiden Operatoren ein.
(b) Verdeutliche anhand von Beispielen, dass ++
und List.append
dasselbe bewirken, nur unterschiedliche Darstellungen verwenden.
Aufgabe 2
Erläutere am folgenden Beispiel und weiteren eigenen Experimenten, dass beim Hinzufügen von Daten in eine Liste diese Ausgangsliste nicht verändert wird, sondern eine neue Liste erzeugt wird.
> notenliste = [14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> 11 :: notenliste
[11,14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number
> notenliste
[14,7,12,10,15,4,8,13,10,7,5,2,9,9,12]
: List number