Definition eines neuen Datentyps
Eine Typdeklaration verwenden
Der einfachste Weg aus der im letzten Abschnitt beschriebenen Problematik besteht darin, selbst einen neuen Datentyp für Befehle einzuführen.
type Befehl
= LI -- links
| RE -- rechts
| VW Int -- vorwärts ...
> LI
LI : Befehl
> VW 2
VW 2 : Befehl
> [VW 2, RE, VW 4, LI, VW 2]
[VW 2,RE,VW 4,LI,VW 2]
: List Befehl
Mit type Befehl wird der neue Datentyp Befehl definiert.
Die Datenwerte des neuen Datentyps Befehl werden in der Typdeklaration genau angegeben. Es sind die Datenwerte LI und RE
für die Drehungen sowie VW ... (wobei hier für die drei Punkte eine Int-Zahl eingesetzt werden muss) für die Vorwärtsbewegung.
Mit diesen Datenwerten vom Typ Befehl kann man jetzt eine Liste mit Daten des Typs Befehl erstellen.
Die Welt ist damit für Elm wieder in Ordnung.
Aufgabe 1
Teste die oben gezeigte Typdeklaration mit einer selbst vorgegebenen Befehlsliste.
Aufgabe 2
Der folgende Quelltext enthält weitere Typdeklarationen. Analysiere den Quelltext und erläutere alle Detail. Teste selbst.
type Befehl
= LI -- links
| RE -- rechts
| VW Int -- vorwärts ...
type alias Programm = List Befehl
programm1: Programm
programm1 = [VW 2, RE, VW 4, LI, VW 2]
type Richtung
= N -- Norden
| O -- Osten
| S -- Süden
| W -- Westen
type alias Akteur = (Int, Int, Richtung)
akteur: Akteur
akteur = (0,0,N)
> akteur
(0,0,N) : Akteur
> programm1
[VW 2,RE,VW 4,LI,VW 2]
: Programm