函数问题不在范围内:数据构造函数

时间:2013-09-23 14:52:24

标签: haskell

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

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

然而,这继续向我提供消息“不在范围内:数据构造函数”,其中包含String中任何空格之前和之后的字符串片段。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:2)

虽然您不需要空列表的大小写,但该函数看起来很好 过滤处理这种情况。

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

您能举例说明您如何调用该函数

答案 1 :(得分: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>