【发布时间】:2019-06-16 14:21:52
【问题描述】:
我正在用 Haskell 编写回文解决方案,我希望函数在输入 null 时显示错误。我不想使用错误功能,因为它会停止程序。因此,我想使用 putStrLn 显示错误消息并继续循环。
我曾尝试使用 show 来更改给 putStrLn 的输入,但它不起作用并引发编译时类型错误。
main = do
putStrLn "Hey there, What's up! ENTER WORD TO CHECK PALINDROME!"
word <- getLine
if null word
then
-- putStrLn "This is not a word!"
main
else do
putStrLn $ show $ checkPalindrome word
main
checkPalindrome w = if reverse w == w then True else False
我希望它显示一个错误,但它只给出一个错误。显示停止安全错误的可能解决方案是什么?
【问题讨论】:
-
I expect it to show an error, but it only gives an error.我不明白你的意思。编译时或运行时是否出现错误?还是它运行时没有错误但做了一些意想不到的事情?
标签: haskell functional-programming