Ich schreibe Funktion, die eine Liste von Int
, eine Liste des allgemeinen Typs a
nehmen und entfernen Sie alle Elemente, die Index in der Liste von Int.Entfernen Sie Elemente in der Liste mit einer Liste von Int (Haskell)
Zum Beispiel: removeEl [1,3,4] [1,2,3,4,5,6]
Rückkehr [1,3,6]
oder removeEl [1,2] "Firefox"
Rückkehr "Fefox"
Hier ist mein Versuch:
removeEl :: [Int] -> [a] -> [a]
removeEl [] xs = []
removeEl ns [] = []
removeEl (n:ns) (x:xs) | n == 0 = removeEl ns xs
| n > 0 = x:removeEl (n-1) xs
Ich weiß, (n-1)
ist ein Int
, nicht [Int]
so ist es nicht. Muss ich eine Hilfsfunktion schreiben, um zu verwenden?
Im Fall 'n> 0 müssen Sie auch die folgenden Indizes (nicht nur die erste) verringern. –