我正在尝试获取一个生成随机数的函数,这是我到目前为止所做的:
getRandom :: Int -> Int -> Int
getRandom x y = do
z <- randomRIO( x, y )
此代码给出了以下错误:
The last statement in a 'do' block must be an expression
现在我理解了这个错误,但我不明白解决方案。
我试过了:
return z
但它不起作用。
P.S。我对Haskell非常陌生
答案 0 :(得分:5)
do
块不能以绑定结束。他们不喜欢像
getRandom = randomRIO (x, y) >>= \z ->
这显然是一个错误!如果您只想使用randomRIO
getRandom x y = randomRIO (x, y)
工作正常。另外,如果您只想要一个随机数,
getRandom :: IO Integer
getRandom = randomIO
作品。