【发布时间】:2018-06-27 20:03:25
【问题描述】:
我试图在这个表达式中返回 True 或 False,但是我得到了这个错误,有人能告诉我我做错了什么吗?谢谢。
module Main (main) where
import System.IO (stdout, hSetBuffering, BufferMode(NoBuffering))
main::IO()
simOuNao::String -> Bool
main = do hSetBuffering stdout NoBuffering
putStrLn "Guess Number v1.0"
putStrLn "======================"
simOuNao frase = do putStrLn frase
ans <- readLn
if ans == 'y' || ans =='Y'
then return True
else return False
错误信息:
• Couldn't match expected type ‘Bool’ with actual type ‘IO Bool’
• In a stmt of a 'do' block: putStrLn frase
In the expression:
do { putStrLn frase;
ans <- readLn;
if ans == 'y' || ans == 'Y' then return True else return False }
In an equation for ‘simOuNao’:
simOuNao frase
= do { putStrLn frase;
ans <- readLn;
if ans == 'y' || ans == 'Y' then return True else return False }
失败,已加载模块:无。
【问题讨论】: