Hallo, ich will nur eine vordefinierte Haskell Funktion "take" rekursiv schreiben
Ich habe fertige Lösung die sieht so aus
Die Lösung ist mit pattern matching ich will das in if else umschreiben also so ungefähr
wie das unter
Leider die Lösung funktioniert nicht vielleicht könnt ihr mir helfen bitte und
ein bisschen erklären grundsätzlich worauf man beim umschreiben pattern matching in if else
achten muss.
und sorry, dass ich so leichtes Problem hier Poste.
Zweite Frage, gibt es irgendwo im Internet die meisten Haskell vordefinierte Funktionen von Module: Prelude, List und Array die schon mit Rekursion gelöst wurden ?
Ich habe fertige Lösung die sieht so aus
Code:
taKe :: (Num i, Ord i) => i -> [a] -> [a]
taKe' n _
| n <= 0 = []
taKe' _ [] = []
taKe' n (x:xs) = x : taKe (n-1) xs
wie das unter
Code:
taKe :: (Num i, Ord i) => i -> [a] -> [a]
taKe n _ =
if n <= 0 then []
else if taKe _ [] then []
else taKe n (x:xs) = x : taKe (n-1) xs
ein bisschen erklären grundsätzlich worauf man beim umschreiben pattern matching in if else
achten muss.
und sorry, dass ich so leichtes Problem hier Poste.
Zweite Frage, gibt es irgendwo im Internet die meisten Haskell vordefinierte Funktionen von Module: Prelude, List und Array die schon mit Rekursion gelöst wurden ?