Haskell 函数故障不在范围内:数据构造函数

Haskell 函数故障不在范围内:数据构造函数,haskell,Haskell,我正在尝试编写一个函数removeSpaces,该函数一旦传递一个字符串,就会删除其中的所有空格。 到目前为止,我得到的是: import Data.Char removeSpaces :: [Char] -> [Char] removeSpaces [] = [] removeSpaces xs = filter isAlpha xs 然而,这不断地给我消息“不在范围内:数据构造函数”以及字符串中任何空格前后的字符串片段。这方面的任何帮助都将非常有用。该函数看起来很好,尽管您不需要空列

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

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

然而,这不断地给我消息“不在范围内:数据构造函数”以及
字符串中任何空格前后的字符串片段。这方面的任何帮助都将非常有用。

该函数看起来很好,尽管您不需要空列表的大小写 过滤器处理那个案件

import Data.Char
removeSpaces :: [Char] -> [Char]
removeSpaces xs = filter isAlpha xs
您能否举例说明如何调用该函数?它工作正常:

$ 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> 

我将函数称为removeSpaces“no spaces”,据我所知,它应该返回nospaces。您使用的是GHCi还是键入
removeSpaces“no spaces”
作为文件中的顶级表达式?您确定在调用它的字符串周围有引号吗?我进入脚本所在的目录并使用ghci,然后使用:l a2并在中键入命令。它终于起作用了,不知何故它选择了一个较旧版本的脚本。我只是把它粘贴到一个不同的文件中来解决这个问题。谢谢大家。它对我有用,你使用的是什么版本的编译器/解释器,确切的输出是什么?还有`removespace“HelloWorld!!11!”==“HelloWorld”,这可能不是您想要的。