错误:输入`='时解析错误

时间:2013-05-30 22:15:59

标签: haskell ghci

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

当我在翻译中输入这一行时,

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

我收到此错误:

parse error on input `='

导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:5)

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

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

这是因为解释器基本上就像你在全局do - 块一样。您的代码在Haskell源文件中就可以了。

如果你在解释器之外遇到这个错误,你可能要么弄乱了缩进,要么在附近的代码中有一些其他的语法错误。