1

我有以下功能:

encodeChar :: Int -> [Char] -> Char -> Char
encodeChar x y z = eChar (offsetChar x y) z

encodeString :: Int -> [Char] -> String -> String
encodeString _ _ "" = ""
encodeString x y z = encodeChar x y (head z) ++ encodeString x y (tail z)

哪个返回

*** Expression     : encodeChar x y (head z) ++ encodeString x y (tail z)
*** Term           : encodeChar x y (head z)
*** Type           : Char
*** Does not match : [Char]

但是,由于 x 和 y 匹配 Int 并且 [Char] 和 (head z) 返回类型 Char 我看不出是什么导致了问题......想法?:S 谢谢!

4

1 回答 1

3

encodeChar返回 a Char,但此处的第一个参数必须++是 a [Char]。使用:而不是++.

于 2013-10-09T21:47:03.660 回答