我无法绕过我的功能。它调用一个返回随机数的函数“drawSpecialCard”。现在,我已经阅读了这个错误,我知道它有一些未实现的问题,但我不知道该怎么做。对于Haskell来说,我不是很聪明。
import System.Random
drawSpecialCard :: IO Int
drawSpecialCard = randomRIO(1,16)
effect :: [Char]
effect = do
let cardNo = drawSpecialCard
return $ case cardNo of
1 -> "Pay"
2 -> "ToJail"
3 -> "Collect"
4 -> "GoBack"
5 -> "moveOn"
答案 0 :(得分:1)
在do
块中,let
定义但不运行IO操作。你想要像
effect :: IO [Char]
effect = do
cardNo <- drawSpecialCard
return $ case cardNo of
...
请注意,effect
也必须返回IO
。