Verarbeitung von Datensätzen mit Attributzugriffen
Mailadressen erzeugen
Aus einem Datensatz soll mit Hilfe einer Funktion eine Mailadresse erzeugt werden.
Wir konzipieren hierzu die Funktion mailadresse
mit folgendem Verhalten.
Signatur:
mailadresse: Person -> String
Beispiele:
mailadresse { vorname = "Anuk", nachname = "Franck", geburtsjahr = 2015 } -> "Anuk.Frank@meineschule.de"
Zur weiteren Vereinfachung der Verarbeitung setzen wir voraus, dass der Vorname keine Leerzeichen wie z.B. bei "Bo Anuk" enthält.
Im folgenden Quelltext findest du eine noch nicht ganz fertige Definition zur Funktion mailadresse
.
module Mailadressen exposing (..)
type alias Person =
{ vorname: String
, nachname: String
, geburtsjahr: Int
}
person1: Person
person1 =
{ vorname = "Anuk"
, nachname = "Franck"
, geburtsjahr = 2015
}
mailadresse: Person -> String
mailadresse datensatz =
... ++ "@meine-schule.de"
> import Mailadressen exposing (..)
> mailadresse person1
"Anuk.Franck@meine-schule.de" : String
Aufgabe 1
Ergänze den noch fehlenden Teil in der Definition der Funktion mailadresse
. Benutze den Zugriff auf die betreffenden Attributwerte.
Aufgabe 2
Bei gängigen Namen wie z.B. "Anna Schmitt" kann es vorkommen, dass zwei unterschiedliche Personen dieselbe Mailadresse erhalten. Wir ändern daher die Vorgaben für die Adressbildung ab.
Das Geburtsjahr soll in die Mailadresse integriert werden. Entwickle eine passende Funktionsdefinition.
Signatur:
mailadresse: Person -> String
Beispiele:
mailadresse { vorname = "Anuk", nachname = "Franck", geburtsjahr = 2015 } -> "Anuk.Frank.2015@meineschule.de"