我有一個在haskell中編譯成功的函數。Haskell中的錯誤函數
它看起來像這樣:
suffix :: Int -> String
suffix i
| i==0 = "th"
| i==1 = "st"
| i==2 = "nd"
| i==3 = "rd"
| i>=4 || i<=9 = "th"
| i<0 = error "Must be positive integer" ----------NOT WORKING?
| otherwise = suffix(i `rem` 10)
它不工作,我可以告訴至少與該i<0
後衛錯誤行。當我進入GHCI並給一個數字加上一個「 - 」:suffix -5
如果我完全離開這個案例,我會得到同樣的錯誤信息。
我希望它顯示我的錯誤消息。希望有人能夠發現我的問題。謝謝!
您可以通過正確查看錯誤消息來了解這一點:它是一個_compiler error_,並且在'it'的等式中:it = suffix-5'很清楚地表明問題與' f-5'被解析爲'f-5'。 – leftaroundabout 2013-02-14 10:55:02