i

Fachkonzept - Datensatz als Tupel

Ein Tupel bilden

Ein Datentupel fasst mehrere Daten zu einer Einheit zusammen. Die Daten werden dabei in einer vorgegebenen Reihenfolge aufgeführt.

Tupel werden oft in Situationen benutzt (wie Datumsangaben oder Positionsangaben), in denen es fest vorgegebene Vereinarungen über das Format der Daten gibt.

Die Abbildung verdeutlicht, wie ein Tupel in Elm dargestellt wird. Beachte, dass in Elm nur Tupel mit 2 oder 3 Datenwerten möglich sind.

Datensatz als Tupel

Hier ein Aufruf in der REPL zu diesem Tupel.

> datum = (3, 3, 2023)
(3,3,2023) : ( number, number1, number2 )

Auf die Datenwerte eines Tupels zugreifen

Ein Zugriff mit Zugriffsfunktionen ist nur für Tupel mit 2 Datenwerten möglich.

> uhrzeit = (12, 44)
> Tuple.first uhrzeit
15 : number
> Tuple.second uhrzeit
35 : number1

Mustererkennung verwenden

Bei der Verarbeitung von Tupel ist es meist sinnvoll, das Tupel mit einem Muster zu dekonstruieren.

module Metadaten exposing (..)

type alias Datum = (Int, Int, Int)
datum = (3, 3, 2023)

textAusgabe: Datum -> String
textAusgabe tupeldatum =
    let
        ( tag, monat, jahr ) = tupeldatum
    in
    "Datum: " ++ (String.fromInt tag) ++ "." ++ (String.fromInt monat) ++ "." ++ (String.fromInt jahr)
> import Metadaten exposing (..)
> textAusgabe datum
"Datum: 3.3.2023" : String

Kurz und sehr übersichtlich wird eine Funktionsdefinition, wenn man das Muster direkt als Parameter benutzt.

module Metadaten exposing (..)

type alias Datum = (Int, Int, Int)
datum = (3, 3, 2023)

textAusgabe: Datum -> String
textAusgabe ( tag, monat, jahr ) =
    "Datum: " ++ (String.fromInt tag) ++ "." ++ (String.fromInt monat) ++ "." ++ (String.fromInt jahr)
> import Metadaten exposing (..)
> textAusgabe datum
"Datum: 3.3.2023" : String

Suche

v
110.2.8.5
inf-schule.de/fp_elm_alteversion/elm_programme/datensaetze/konzept_tupel
inf-schule.de/110.2.8.5
inf-schule.de/@/page/cDUsR40DSFC7Bvrc

Rückmeldung geben