Verwaltung der Daten
Eine Teilnehmerliste verwalten
Hier eine Liste der Personen, die am Abenteuer-Camp teilgenommen haben:
Bea Nagy, 16, Ungarn Olaf Jensen, 20, Dänemark Paula Rossi, 18, Italien Luca Silva, 21, Brasilien Miyu Sato, 21, Japan Chengelo Ndlovu, 18, Südafrika Mia Schmitt, 17, Deutschland, …
Auch eine Sammlung komplexerer Daten kann man mit einer Liste verwalten. Wichtig ist, dass alle Daten vom selben Datentyp sind.
Der Quelltext mit einem Aufruf in der REPL verdeutlicht, wie man die Teilnehmerliste verwalten kann.
module Teilnehmerliste exposing (..)
type alias Person =
{
vorname: String,
nachname: String,
alter: Int,
land: String
}
teilnehmerliste: List Person
teilnehmerliste = [
{
vorname = "Bea",
nachname = "Nagy",
alter = 16,
land = "Ungarn"
},
{
vorname = "Olaf",
nachname = "Jensen",
alter = 20,
land = "Dänemark"
},
{
vorname = "Paula",
nachname = "Rossi",
alter = 18,
land = "Italien"
}]
import Teilnehmerliste exposing (..)
> teilnehmerliste
[{ alter = 16, land = "Ungarn", nachname = "Nagy", vorname = "Bea" },{ alter = 20, land = "Dänemark", nachname = "Jensen", vorname = "Olaf" },{ alter = 18, land = "Italien", nachname = "Rossi", vorname = "Paula" }]
: List Person
Aufgabe 1
Füge mit Hilfe der Listenoperatoren ::
und ++
weitere Datensätze in der Teilnehmerliste hinzu.
Aufgabe 2
Deute den folgenden REPL-Dialog. Was ist möglich? Was führt zu Schwierigkeiten?
> import Teilnehmerliste exposing (..)
> List.length teilnehmerliste
3 : Int
> List.sort teilnehmerliste
-- TYPE MISMATCH ---------------------------------------------------------- REPL
The 1st argument to `sort` is not what I expect:
4| List.sort teilnehmerliste
^^^^^^^^^^^^^^^
This `teilnehmerliste` value is a:
List Person
But `sort` needs the 1st argument to be:
List comparable