Haskell lernen: Wie man einen Gegenstand aus einer Liste in Haskell entfernt

Versuchen zu lernen, Haskell. Ich bin versucht, zu schreiben eine einfache Funktion um eine Zahl zu entfernen aus einer Liste ohne Verwendung von built-in-Funktion (löschen...denke ich). Der Einfachheit halber nehmen wir an, dass der input-parameter ist eine Ganzzahl, und die Liste ist ein Integer-Liste. Hier ist der code, den ich habe, Bitte sagen Sie mir, was ist falsch mit dem folgenden code

areTheySame :: Int -> Int-> [Int]

areTheySame x y | x == y = []
                | otherwise = [y]

removeItem :: Int -> [Int] -> [Int]

removeItem x (y:ys) = areTheySame x y : removeItem x ys
Kommentar zu dem Problem
Nur als Tipp, knacken öffnen Sie den Haskell 98 report und Lesen Sie den code für die Prelude-Funktionen ist ein echter eye-opener. Du wirst eine Menge lernen darüber, wie die Dinge funktionieren (und eine Menge lernen über Dinge, die Sie sollten nicht die Mühe, tut sich außer als eine Intellektuelle übung lernen!). Hier ist eine anständige tour: ww2.cs.mu.oz.au/172/Haskell/tourofprelude.html. members.chello.nl/hjgtuyl/tourdemonad.html und cs.anu.edu.au/student/comp1100/haskell/tourofsyntax.html sind auch hilfreich. (Leider haskell.org ist immer noch nach unten, so ich kann nicht hook up mit den Bericht direkt.) Kommentarautor: JUST MY correct OPINION

InformationsquelleAutor der Frage BM. | 2010-01-19

Schreibe einen Kommentar