【问题标题】:How to evaluate IO Bools in Haskell如何在 Haskell 中评估 IO 布尔值
【发布时间】:2011-11-28 21:44:37
【问题描述】:

我正在尝试编写一个函数,它接受一个 IO Bool 并根据它是什么来做事,但我不知道如何评估 IO Bool。我试着说do conddo {cond==True},但得到了错误Couldn't match expected type 'Bool' against inferred type 'a b'。有人可以指导我找到解决方案吗?

【问题讨论】:

标签: haskell monads


【解决方案1】:

您需要先从 IO 中解压/拉出 bool,然后才能使用它。这是一个例子:

main = useBool trueIO

trueIO :: IO Bool
trueIO = return True

useBool :: IO Bool -> IO ()
useBool a = do
    b <- a
    putStrLn (show b)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 2020-09-26
    • 1970-01-01
    • 2011-08-28
    • 2012-06-04
    • 2011-07-31
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多