den Code Gegeben:Schlurfen einer Liste auf der Grundlage einer Int Liste
data Error a = Fail|Ok a
deriving (Eq, Ord, Show)
split :: Int -> [a] -> (Error ([a],[a]))
split 0 list = Ok ([], list)
split n list
| n < 0 = Fail
| n > length (list) = Fail
| otherwise = Ok (take n list, drop n list)
interleave :: [a] -> [a] -> [a]
interleave list [] = list
interleave [] list = list
interleave (x:xs) (y:ys) = x : y : interleave xs ys
shuffle :: [Int] -> [a] -> Error [a]
Wie kann ich die Funktion shuffle
schreiben, die eine Liste von Ints nehmen, und teilen eine andere Liste auf der Grundlage dieser ints. Beispiele für die int-Liste wären intList = [20,23,24,13] wobei shuffle eine Liste nach dem 20. Element, Verschachtelung, Aufspaltung nach dem 23. Element, Verschachtelung usw. aufteilt.
Aber die 'split' Funktion gibt einen Fehler ([a], [a]) – Markeazy
Dies ist der Teil, wo Sie darüber nachdenken, wie Sie Ihre Einschränkungen anwenden die Lösung. Es macht meiner Meinung nach am meisten Spaß;) – ThreeFx
Ich konnte deine Lösung nicht wirklich verstehen, aber es gelang mir, es herauszufinden – Markeazy