Map-Funktion in Haskell

Soweit ich das verstanden habe anzeigen in Haskell nimmt eine Funktion und eine Liste und wendet die Funktion auf jedes element in dieser Liste, bevor Sie eine neue Liste zu erstellen, die die Funktion angewendet, um jedes Mitglied.

Ausprobieren, das funktioniert mit wirklich einfachen Funktionen wie (+5) so es funktioniert gut, wenn ich Typ:

map (+7) [2,8,9,3]

Bekomme ich:

[9,15,16,10]

Aber das funktioniert nicht mit Funktionen, die ich erstellt habe. Sagen ich habe eine Funktion shiftLetter deren Typ-Deklaration ist:

shiftLetter :: Char -> Int -> Char

(mit Int Verschiebung, wie weit Sie den Brief zurückgegeben wird)

Wenn ich eine neue Funktion, die es mit mehr als einem Buchstaben und Typ:

shiftLetters :: String -> Int -> Char
shiftLetters letters shift = map shiftLetters "AKHLKHN"

Bekomme ich Fehler, warum ist das so?

angenommen, Sie verbockt haben shiftLetters und shiftAlphabet, überprüfen Sie Sie erneut
Was ist shiftAlphabet? So etwas wie shiftAlphabet char = shiftLetter char shift könnte das sein, was du suchst?
in der interpreter, diese Dinge zu tun und es herauszufinden auf Ihre eigenen: :t map, :t shiftLetter.
und auch :t map shiftLetter "AKHLKHN" ich meine.
"Bekomme ich Fehler, warum ist das?", weil es Fehler. Und ob Sie es glauben oder nicht, der text der Fehlermeldungen betrifft, ja, in der Tat. Wenn Sie nicht Lesen wollen, sollten Sie zumindest nach Ihnen.

InformationsquelleAutor Eddie | 2013-10-12

Schreibe einen Kommentar