我有以下功能:
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类型时,我看不出是什么导致了这个问题......想法? :谢谢!
答案 0 :(得分:3)
encodeChar
会返回Char
,但此处++
的第一个参数需要为[Char]
。使用:
代替++
。