随机数功能

时间:2013-11-14 20:56:11

标签: haskell

我正在尝试获取一个生成随机数的函数,这是我到目前为止所做的:

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非常陌生

1 个答案:

答案 0 :(得分:5)

do块不能以绑定结束。他们不喜欢像

这样的东西
getRandom = randomRIO (x, y) >>= \z ->

这显然是一个错误!如果您只想使用randomRIO

的结果
getRandom x y = randomRIO (x, y)

工作正常。另外,如果您只想要一个随机数,

getRandom :: IO Integer
getRandom = randomIO

作品。