3

我正在阅读 Haskell 书: http: //learnyouahaskell.com/types-and-typeclasses

当我在解释器中输入这一行时,

removeNonUppercase st = [c | c <- st, c `elem` ['A' .. 'Z']]

我收到此错误:

parse error on input `='

是什么导致了这个错误?

4

1 回答 1

5

在解释器或 GHCi 脚本文件(即不是 Haskell 模块)中定义变量或函数时,需要使用let关键字。

> let removeNonUppercase st = [c | c <- st, c `elem` ['A' .. 'Z']]

这是因为解释器本质上就像你在一个全局do块中一样。您的代码可以在 Haskell 源文件中保持原样。

如果您在解释器之外遇到此错误,则可能是缩进弄乱了,或者附近代码中有其他语法错误。

于 2013-05-30T22:19:11.747 回答