Skip to content
Snippets Groups Projects
Verified Commit 63a67883 authored by jonahbeneb02's avatar jonahbeneb02
Browse files

More improvements

parent 89dea2a9
No related branches found
No related tags found
No related merge requests found
- Foliensatz
- Aufgabe 1: in Einzelarbeit oder mit Sitznachbar*in
- Aufgabe 2: in Gruppen, Aufgaben a und b parallel.
Hinterher direkt vorrechnen / vergleichen
- Aufgabe 3 und 4 wieder mit Sitznachbar*in, so dass möglichst alle mindestens eine Aufgabe in der ein ADT erzeugt wird, und eine mit Pattern Matching bearbeitet haben.
- Vorrechnen
...@@ -44,3 +44,32 @@ sum ((x:xs) ++ ys) -- sum.2 ...@@ -44,3 +44,32 @@ sum ((x:xs) ++ ys) -- sum.2
= x + sum xs + sum ys -- sum.2 = x + sum xs + sum ys -- sum.2
= sum (x:xs) + sum ys = sum (x:xs) + sum ys
``` ```
# Beispiele für ADTs
```Haskell
data Number = I Int | F Float deriving Show
```
\
`I` und `F` sind Datenkonstruktoren. Sie können wie Funktionen verwendet werden.
\
ADTs erzeugen:
```Haskell
divide :: Int -> Int -> Number
divide n d
| n `mod` d == 0 = I (n `div ` d)
| otherwise = F (fromIntegral n / fromIntegral d)
```
# Beispiele für ADTs
```Haskell
data Number = I Int | F Float deriving Show
```
\
\
Unterschiedliche Varianten eines ADTs behandeln:
```Haskell
numberTypeString (I _) = "integer"
numberTypeString (F _) = "float"
```
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment