我正在尝试编写一个函数,该函数removeSpaces
一旦传递了一个字符串,它将删除其中发现的任何空格。
到目前为止我得到的是:
import Data.Char
removeSpaces :: [Char] -> [Char]
removeSpaces [] = []
removeSpaces xs = filter isAlpha xs
然而,这不断给我“不在范围内:数据构造函数”的消息,其中包含String
. 对此的任何帮助都会很棒。
我正在尝试编写一个函数,该函数removeSpaces
一旦传递了一个字符串,它将删除其中发现的任何空格。
到目前为止我得到的是:
import Data.Char
removeSpaces :: [Char] -> [Char]
removeSpaces [] = []
removeSpaces xs = filter isAlpha xs
然而,这不断给我“不在范围内:数据构造函数”的消息,其中包含String
. 对此的任何帮助都会很棒。
该函数看起来不错,尽管您不需要空列表的情况,因为过滤器处理这种情况。
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>