У меня есть funciton, который успешно компилируется в 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