Verarbeitung von Datensätzen über Mustererkennung
Mailadressen erzeugen
Wir betrachten noch einmal die Funktion mailadresse in der
folgenden Form.
Signatur:
mailadresse: Person -> String
Beispiele:
mailadresse { vorname = "Anuk", nachname = "Franck", geburtjahr = 2015 } -> "Anuk.Frank@meineschule.de"
Einen Zugriff auf Attributwerte kann man oft indirekt mit der Vorgabe von Mustern bewirken.
type alias Person =
{ vorname : String
, nachname : String
, geburtsjahr : Int
}
<p>person1 : Person<br />
person1 =<br />
{ vorname = "Anuk"<br />
, nachname = "Franck"<br />
, geburtsjahr = 2015<br />
}</p>
<p>mailadresse : Person -> String<br />
mailadresse datensatz =<br />
let<br />
{ vorname, nachname } = datensatz<br />
in<br />
vorname ++ "." ++ nachname ++ "@meine-schule.de"<br />
> mailadresse person1
"Anuk.Franck@meine-schule.de" : String
Aufgabe 1
Teste das selbst und erkläre den Aufbau der Funktionsdefinition.
Aufgabe 2
Das Muster kann auch direkt bei der Parameterangabe benutzt werden. Teste auch diese Version.
...
<p>mailadresse : Person -> String<br />
mailadresse { vorname, nachname } =<br />
vorname ++ "." ++ nachname ++ "@meine-schule.de"<br />
Aufgabe 3
Nutze eine der beiden Formen, um auch das Geburtsjahr in die Mailadresse einzubauen.