Fachkonzept - Liste
Eine Liste bilden
Mit einer Liste kann man Daten einer Datensammlung verwalten. Die Daten einer Liste werden dann Listenelemente genannt. Sie sind der Reihe nach angeordnet.
Man kann mit entsprechenden Funktionen neue Listenelemente hinzufügen und man kann auch Listenelemente entfernen. Dabei wird immer eine neue Liste erzeugt, die Ausgangsliste bleibt unverändert.
Alle in der Liste vorkommenden Daten müssen in Elm den selben Datentyp haben.
Die Abbildung verdeutlicht den Aufbau einer Liste.
Hier ein REPL-Dialog, in dem verschiedene Listen erzeugt werden.
> notenliste = [1,3,2,4,1,2,5,3]
[1,3,2,4,1,2,5,3]
: List number
> namensliste = ["Eva","Otto","Kim","Reza"]
["Eva","Otto","Kim","Reza"] : List String
> leereListe = []
[] : List a
> geschachtelteListe = [[3, 4], [2, 3, 1]]
[[3,4],[2,3,1]]
: List (List number)
Beachte, dass man Listen von Listen, also geschachtelte Listen erstellen
kann und dass man mit []
auch eine leere Liste bilden kann.
Grundlegende Listenfunktionen
Es gibt zahlreiche vordefinierte Listenfunktionen (siehe Elm - List). Wir beschreiben hier nur zwei besonders wichtige Funktionen.
Mit der cons-Funktion ::
kann man neue Daten in eine Liste aufnehmen.
> 1::[2,3,4]
[1,2,3,4] : List number
> 'a'::['b','c']
['a','b','c'] : List Char
Mit der append-Funktion ++
(bzw. List.append
) kann man zwei Listen zu einer zusammenfügen.
> [1] ++ [2,3]
[1,2,3] : List number
> [1,2] ++ [3,4]
[1,2,3,4] : List number
> ["ene","mene","miste"] ++ ["es","rappelt","in","der","Kiste"]
["ene","mene","miste","es","rappelt","in","der","Kiste"]
: List String
> List.append ['K','a'] ['t','z','e']
['K','a','t','z','e'] : List Char
Beachte, dass die beiden Funktionen ::
und ++
jeweils neue Listen erzeugen.
> liste = [1,2,3]
[1,2,3] : List number
> 0::liste
[0,1,2,3] : List number
> liste
[1,2,3] : List number
> liste ++ [4,5]
[1,2,3,4,5] : List number
> liste
[1,2,3] : List number