23 lines
881 B
TeX
23 lines
881 B
TeX
\ifger{Stellen wir uns vor wir wollen alle geraden Zahlen einer Liste und alle anderen nicht. Hier wäre die Typsignatur:}{Imagine we want to filter all even numbers of a list and throw away all others. I'll give you the type signature:}
|
|
\begin{haskellcode}
|
|
filterEven :: [Int] -> [Int]
|
|
\end{haskellcode}
|
|
\ifger{Lösung?}{Solution?}
|
|
\pause
|
|
\begin{haskellcode}
|
|
filterEven :: [Int] -> [Int]
|
|
filterEven [] = []
|
|
filterEven (x:xs)
|
|
| even x = x : filterEven xs
|
|
| otherwise = filterEven xs
|
|
\end{haskellcode}
|
|
\pause
|
|
\ifger{Oder: wir filtern alle $0$en, damit wir sie später zählen können:}{Or: filter out all $0$'s, so we can count them later:}
|
|
\begin{haskellcode}
|
|
filterZero :: [Int] -> [Int]
|
|
filterZero [] = []
|
|
filterZero (x:xs)
|
|
| x == 0 = x : filterZero xs
|
|
| otherwise = filterZero xs
|
|
\end{haskellcode}
|
|
\ifger{Erneut: Fällt etwas auf?}{Again: do you notice something?} |