Gepostet: |
Funktionen und Typdefinitionen | ||||||||||
Nabend allerseits... Ich habe 2 Probleme und bin noch Laie. Im Moment forste ich mich durch englische Tutorials, aber ich kommen beim besten Willen nicht weiter. Nr.1: Definieren Sie eine Funktion "showBoolFun:: (Bool -> Bool) -> String", die eine Boolesche Funktion in Form einer Wertetabelle ausgibt. und Nr.2: Gegeben sei die Typdefinition "data MyType = Apfel | Melone | Pflaume". Implementieren Sie diesen Typen als Instanz der Typklassen "Eq, Ord, Show" und "Read". Dabei soll sich die Ordnungsrelation an der Größe der (ausgewachsenen) bezeichneten Frucht orientieren. Zum Beispiel soll die Auswertung des Ausdrucks "Melone > Pflaume" den Wert "True" ergeben. |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hallo, zu 1.) Für den Funktionstyp Bool -> Bool reicht es ja, die übergebene Funktion nur einmal mit True und einmal mit False aufzurufen und jeweils das Ergebnis auszugeben. zu 2.) Eine Klasseninstanz kannst du auch automatisch ableiten lassen mittels deriving (Beispiel oben) oder per Hand implementieren (Beispiel unten): data MyType = Apfel | Melone | Pflaume deriving (Eq) Bei Eq, Show und Read würden sich abgeleitete Instanzen anbieten, falls ihr nicht ausdrücklich per Hand implementieren sollt. Bei Ord würde er eine falsche Ordnungsrelation ableiten, also da mußt du das per Hand schreiben. Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||