1

我正在尝试编写一个函数,该函数removeSpaces一旦传递了一个字符串,它将删除其中发现的任何空格。
到目前为止我得到的是:

import Data.Char
removeSpaces :: [Char] -> [Char]
removeSpaces [] = []
removeSpaces xs = filter isAlpha xs

然而,这不断给我“不在范围内:数据构造函数”的消息,其中包含String. 对此的任何帮助都会很棒。

4

2 回答 2

2

该函数看起来不错,尽管您不需要空列表的情况,因为过滤器处理这种情况。

import Data.Char
removeSpaces :: [Char] -> [Char]
removeSpaces xs = filter isAlpha xs

你能举例说明你是如何调用函数的吗

于 2013-09-23T15:01:35.080 回答
1

它工作正常:

$ echo "import Data.Char
> removeSpaces :: [Char] -> [Char]
> removeSpaces [] = []
> removeSpaces xs = filter isAlpha xs" > so.hs

$ ghci so.hs
GHCi, version 7.6.2: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main             ( so.hs, interpreted )
Ok, modules loaded: Main.
*Main> removeSpaces "no spaces"
"nospaces"
*Main> 
于 2013-09-23T15:06:55.700 回答