4

我不知道如何使用Data.Random.Source.IO多平台方式生成随机数。

我可以在 Unix 中使用 生成随机数,Data.Random.Source.DevRandom在 GitHub 文档中有一个用于 Windows using 的Data.Random.Source.MWC示例,但没有使用示例代码Data.Random.Source.IO

4

1 回答 1

4

好的,我已将 github 示例转换为使用Source.IO

import Data.Random
import Data.Random.Source.IO


logNormal :: Double -> Double -> RVar Double
logNormal mu sigmaSq = do
    x <- normal mu sigmaSq
    return (exp x)

main = sample (logNormal 5 1) >>= print

您可以在源代码Data.Random.Source.IO看到它只是为MonadRandom IO.

您可以从列表中生成一个统一的随机数

import Data.Random
import Data.Random.Source.IO

main = sample (randomElement [0..9]) >>= print
于 2012-09-14T07:05:12.360 回答