i

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

Suche

v
8.2.2.9.2.1.1
inf-schule.de/deklarativ/fp_elm/elm_programme/listen/teilnehmerliste/lernstrecke/verwaltung
inf-schule.de/8.2.2.9.2.1.1
inf-schule.de/@/page/m7bUwrVlNM0O0O76

Rückmeldung geben