i

Zugriff auf die Attribute

Auf Attributwerte zugreifen

Mit Hilfe von Records kann man mehrere Daten zu einem Datensatz zusammenfassen. In Anwendungssituationen muss man häufig auf einzelne Daten eines Datensatzes zugreifen. Der folgende Dialog in der REPL zeigt (am bereits betrachteten Beispiel) wie man das macht.

module Mailadressen exposing (..)

type alias Person =
    { 
        vorname: String, 
        nachname: String, 
        geburtsdatum: 
            { 
                tag: Int, 
                monat: Int, 
                jahr: Int 
            }
    }

person1: Person
person1 = 
    { 
        vorname = "Anuk", 
        nachname = "Franck", 
        geburtsdatum = 
            { 
                tag = 6, 
                monat = 6, 
                jahr = 2006 
            }
    }
> import Mailadressen exposing (..)
> person1
{ geburtsdatum = { jahr = 2006, monat = 6, tag = 6 }, nachname = "Franck", vorname = "Anuk" }
    : Person
> person1.vorname
"Anuk" : String
> person1.geburtsdatum
{ jahr = 2006, monat = 6, tag = 6 }
    : { jahr : Int, monat : Int, tag : Int }
> person1.geburtsdatum.jahr
2006 : Int

Aufgabe 1

(a) Probiere das selbst aus.

(b) Greife analog auf den Nachnamen und den Monat des Geburtsdatums zu.

Aufgabe 2

Teste den Zugriff auf Attributwerte auch mit dem erweiterten Datensatz aus dem letzten Abschnitt.

Aufgabe 3

Der Zugriff auf Attributwerte kann auch mit Hilfe von - passend zum Record gebildeten - Zugriffsfunktionen erfolgen. Probiere das selbst aus.

module Mailadressen exposing (..)

type alias Person =
    { 
        vorname: String, 
        nachname: String, 
        geburtsdatum: 
            { 
                tag: Int, 
                monat: Int, 
                jahr: Int 
            }
    }

person1: Person
person1 = 
    { 
        vorname = "Anuk", 
        nachname = "Franck", 
        geburtsdatum = 
            { 
                tag = 6, 
                monat = 6, 
                jahr = 2006 
            }
    }
> import Mailadressen exposing (..)
> .vorname person1
"Anuk" : String
> .tag (.geburtsdatum person1)
6 : Int

Suche

v
110.2.8.1.1.3
inf-schule.de/fp_elm_alteversion/elm_programme/datensaetze/datenrecord/lernstrecke/zugriff
inf-schule.de/110.2.8.1.1.3
inf-schule.de/@/page/7p0dZWZFhJQLQlMf

Rückmeldung geben