我是新来的Haskell,我用从randomRIO功能使用IO诠释问题的功能,使用从randomRIO随机整数。我的目标是获得一个随机的Int值,比如说r,并且返回True,否则返回false,但我不知道如何去做。哈斯克尔:如何在返回boolean
我的功能看起来应该像:
randomCompare :: Int->Bool
randomCompare x
| x < r = True -- somehow i want to r <- randomRIO(start,end)
| otherwise = False
我知道有一个设计意图在保持IO瓦尔斯在上下文中的纯度等。但我不明白为什么使用随机数的布尔函数应该是“坏”。
谢谢。
这是不可能的类型做'内部 - > Bool',因为一个函数的结果只取决于它的输入,这里唯一的输入是多少。如果你还传入随机数,那么你有'randomCompare x r = x
immibis