當我運行這段代碼:解析錯誤(錯誤的可能壓痕...)
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