Haskell 布尔表达式:解析错误(可能不正确的缩进或不匹配的括号)
Posted
技术标签:
【中文标题】Haskell 布尔表达式:解析错误(可能不正确的缩进或不匹配的括号)【英文标题】:Haskell boolean expressions : parse error (possibly incorrect indentation or mismatched brackets) 【发布时间】:2017-06-06 05:21:15 【问题描述】:我正在尝试使用 Haskell。
我写了代码并保存为:boolean.hs
代码是:
let area r = pi * r ^ 2
main = print(area 5 < 50)
当我这样做时,ghc -o boolean boolean.hs
我收到一条错误消息:
[1 of 1] Compiling Main ( boolean.hs, boolean.o )
boolean.hs:2:1:
parse error (possibly incorrect indentation or mismatched brackets)
如果有人帮助我了解如何解决此错误,那就太好了。
我通过Haskell|Wikibooks|Identation,将代码改为:
let
area r = pi * r ^ 2
main =
print(area 5 < 50)
还是得到了:
[1 of 1] Compiling Main ( boolean.hs, boolean.o )
boolean.hs:3:1:
parse error (possibly incorrect indentation or mismatched brackets)
问候。 :)
【问题讨论】:
关于let的相关问题 【参考方案1】:您不需要使用let
。只需定义函数并在main
中调用它,即
area r = pi * r ^ 2
main = print (area 5 < 50)
【讨论】:
知道了...谢谢 :) 你能告诉我为什么会这样吗?或者您能指出我如何了解更多信息的方向吗? 当然,这是链接:haskell.org/tutorial/patterns.html。查看第 4.5 节 @PragyadityaDas Barelet
表达式不允许出现在模块的顶层,但它们可以出现在表达式 (let x = 42 in x * x
) 或 do
块内 (do let x = 42; print x;
)。
以上是关于Haskell 布尔表达式:解析错误(可能不正确的缩进或不匹配的括号)的主要内容,如果未能解决你的问题,请参考以下文章