i

Fachkonzept - Datentyp

Datentypen

Elm benutzt - wie viele andere Programmiersprachen auch - Datentypen, um unterschiedlich zu verarbeitende Daten zu klassifizieren.

Ein Datentyp beschreibt eine Menge von Daten, die alle die gleiche Struktur haben und mit denen die gleichen Operationen ausgeführt werden können.

Datentypen - eine Übersicht

Die folgende Tabelle listet wichtige Datentypen und ihre Darstellung in Elm auf. Beachte, dass es weitere Datentypen zur Darstellung von Daten gibt. Wir werden sie nach Bedarf in den weiteren Abschnitten einführen.

Datentyp Typbezeichner in Elm Datenobjekte
ganze Zahl Int Daten vom Typ Int sind alle Zahlen ..., -2, -1, 0, 1, 2, ... bis jeweils zu einer in der Programmiersprache festgelegten Unter- bzw. Obergrenze.
Gleitkommazahl Float Daten vom Typ Float sind Gleitkommazahlen wie z. B. 4.2 oder -0.03. In Elm kann auch - je nach Situation - die Darstellung 4 eine Zahl vom Typ Float sein. Beachte, dass der Genauigkeit von Gleitkommazahlen Grenzen gesetzt sind.
Wahrheitswert Bool Daten vom Typ Bool sind die Wahrheitswerte True und False.
Zeichen Char Daten vom Typ Char sind die Zeichen wie z.B. 'A' oder '?'. Beachte, dass Zeichen in Elm mit Hochkommata dargestellt werden.
Zeichenkette String Daten vom Typ String sind Folgen von Zeichen wie z. B. "HALLO!" oder "". Solche Zeichenketten werden in Elm mit doppelten Anführungszeichen dargestellt.
... ... ...

Typvariablen

Manchen Sprachen - wie z.B. auch Elm - nutzen das Konzept von Typvariablen. Typvariablen können an Stellen erscheinen, an denen man ansonsten konkrete Datentypen erwarten würde. In Elm gibt es die vordefinierten Typvariablen number und appendable. Beachte, dass Typvariablen im Gegensatz zu Datentypen klein geschrieben werden. An die Stelle von number können die Datentypen Int und Float treten, an die Stelle von appendable können die Datentypen String und List (Datentyp für Listen, den wir später noch genau kennen lernen) treten.

Explizite Typangaben

Elm erschließt sich anhand des Kontextes die Datentypen selbst. Man kann aber auch Datentypen explizit angeben.

    > zahl1 = 5 -- Datentyp kann nicht klar bestimmt werden
    5 : number
    > zahl2 : Int -- Explizite Angabe des Datentyps
    | zahl2 = 5
    |   
    5 : Int
    > zahl3 : Int -- Ergibt Fehler, da man sich nicht an die eigene Vorgabe hält
    | zahl3 = 5.1
    |   
    -- TYPE MISMATCH ---------------------------------------------------------- REPL
    
    Something is off with the body of the `zahl3` definition:
    
    9| zahl3 = 5.1
               ^^^
    The body is a float of type:
    
        Float
    
    But the type annotation on `zahl3` says it should be:
    
        Int
    
    Note: Read <https://elm-lang.org/0.19.1/implicit-casts> to learn why Elm does
    not implicitly convert Ints to Floats. Use toFloat and round to do explicit
    conversions.

Suche

v
8.2.2.1.9
www.inf-schule.de/deklarativ/fp_elm/elm_programme/datenobjekte/konzept_datentyp
www.inf-schule.de/8.2.2.1.9
www.inf-schule.de/@/page/KBHVoGt6bGdaxxOk

Rückmeldung geben