私が理解している限り、Haskell の map は関数とリストを受け取り、その関数をそのリスト内のすべての要素に適用してから、各メンバーに関数が適用された新しいリストを作成します。
試してみると、これは次のような非常に単純な関数でうまく機能する(+5)
ので、次のように入力するとうまく機能します。
map (+7) [2,8,9,3]
私は得る:
[9,15,16,10]
ただし、これは私が作成した関数では機能しません。shiftLetter
型宣言が次の関数を作成したとします。
shiftLetter :: Char -> Int -> Char
(Int を使用して、返された文字がどれだけ離れているかをシフトします)
複数の文字とタイプでそれを行う新しい関数を作成した場合:
shiftLetters :: String -> Int -> Char
shiftLetters letters shift = map shiftLetters "AKHLKHN"
エラーが発生するのはなぜですか?