我不知道如何使用Data.Random.Source.IO
多平台方式生成随机数。
我可以在 Unix 中使用 生成随机数,Data.Random.Source.DevRandom
在 GitHub 文档中有一个用于 Windows using 的Data.Random.Source.MWC
示例,但没有使用示例代码Data.Random.Source.IO
。
我不知道如何使用Data.Random.Source.IO
多平台方式生成随机数。
我可以在 Unix 中使用 生成随机数,Data.Random.Source.DevRandom
在 GitHub 文档中有一个用于 Windows using 的Data.Random.Source.MWC
示例,但没有使用示例代码Data.Random.Source.IO
。
好的,我已将 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