我是学习Haskell的新手,所以我会提前抱歉抱怨这些愚蠢的问题 我想构建一个从字符串中删除所有大写的函数(我使用GHCI)
removeUppercase st = [c| c<-st, c 'elem' ['A..'Z']]
但是当我编译它时,它显示以下消息:
Syntax error on 'elem'
Perhaps you intended to use TemplateHaskell
In the Template Haskell quotation 'elem'
我做错了什么?
答案 0 :(得分:5)
您使用了撇号'
,您应该在其中使用反引号`
。此外,您还缺少结束单引号:
removeUppercase st = [c | c <- st, c `elem` ['A' .. 'Z']]
请注意,您的功能与
相同removeUppercase = filter (`elem` ['A' .. 'Z'])
这个答案是一个社区答案,因为实际问题对于StackOverflow似乎并不是主题,因为错误起源于印刷错误。