当我运行这段代码:解析错误(错误的可能压痕...)
test1 :: Int -> String
test1 x = do
if x == 1
then "Hello"
我得到以下错误:
test-if.hs:4:21: error:
parse error (possibly incorrect indentation or mismatched brackets)
我不知道这是为什么,因为我不使用任何括号,我使用4个空格作为我的选项卡。添加括号似乎没有帮助。可能是什么问题?
感谢
你的'else'在哪里? – 4castle
在Haskell中,“if”语句必须沿着**两个**分支“返回”一个值 - 没有这个属性,它在功能意义上并没有真正意义。 “if ... then ... else ...'表达式就是你需要的,它确实需要'else'。 – hnefatl