【发布时间】:2014-04-02 12:57:37
【问题描述】:
我是 Haskell 的初学者,想开始用它解决问题,所以我尝试解决第一个 SPOJ 问题(问题代码:TEST)。 “问题”是读取行并打印它们,直到出现“42”。
main = do input <- getLine
if input == "42" then putStr ""
else do putStrLn input
main
我的解决方案非常简单,但输入“if”时出现解析错误。当我在开头和 else 语句中将“main”更改为“main2”时,一切正常。为什么'if'会出现解析错误?
【问题讨论】:
-
你的代码在我尝试时编译得很好。你确定它的缩进和你在这里写的一样吗?
do块对缩进敏感。 -
是的,就像我写的一样……你没有得到那个解析错误吗?
标签: haskell if-statement io parse-error