|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| map.hs | ||
README.md
Aufgabe 1 - Rekursive Implementierung von map
Ziel der Aufgabe
Implementiere die Funktion map rekursiv. Die Funktion nimmt eine Funktion f und eine Liste xs und gibt eine neue Liste zurück, in der f auf jedes Element von xs angewendet wurde.
Signatur
map :: (a -> b) -> [a] -> [b]
Beispiel Testfäle
map (*2) [1, 2, 3] -- [2, 4, 6]
map show [1, 2, 3] -- ["1", "2", "3"]
map (const "a") [1, 2, 3] -- ["a", "a", "a"]
map (+1) [] -- []
Anforderungen
- Nutze Rekursion zur Implementierung
- Nutze kein map aus der Standardbibliothek
- Nutze Pattern Matching, um Basis- und Rekursionsfall zu unterscheiden
Hinweise
- Die leere Liste
[]soll als Basisfall betrachtet werden - Die Funktion
fsoll auf das erste Element der Liste angewendet und dann mit dem Rest der Liste rekursiv weitergeführt werden