【发布时间】:2023-02-12 23:16:08
【问题描述】:
您好,我在 Haskell 中有以下代码,它应该在字符串中的每个字符之间生成一个空格:
addSpace :: Integer -> String -> String
addSpace n s
= if length s <= 1
then s
else take 1 s ++ makeSpaces n ++ addSpace (drop 1 s)
makeSpaces :: Integer -> String
makeSpaces n | n == 0 = ""
| n > 0 = " " ++ makeSpaces(n-1)
main :: IO ()
main = do
print (addSpace 4 "test")
输出应如下所示:"t e s t",但是,我收到以下错误:
“无法将预期类型‘[char]’与实际类型‘String -> String’相匹配。”
如何解决这个错误,以便生成正确的输出?
【问题讨论】: