我试图在输入的字符串之间添加一个空格,虽然代码有效,但是当我尝试将map函数与代码结合使用时,它会在遇到空白时给出模式匹配失败,我可以用任何方式忽略空格或改进代码?
whiteSpace xs
| length xs <= 1 = xs
| otherwise = take 1 xs ++ " "++ whiteSpace (drop 1 xs)
Run Code Online (Sandbox Code Playgroud)
你想实施吗? Data.List.intersperse
> intersperse ' ' "asdfasd"
"a s d f a s d"
Run Code Online (Sandbox Code Playgroud)
您的用例的基本实现可以
> let white :: String -> String
| white [] = []
| white [x] = [x]
| white (x:xs) = x:' ':white xs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |