Haskell中的随机数生成器

时间:2011-11-02 12:06:33

标签: haskell random

我试图在Haskell mkStdGen中生成10个随机数,范围为0(含)到100(不包括)。

等同于以下Java代码的东西

Random ran = new Random();
ran.nextInt(100);

注意,我必须使用mkStdGen

这是我到目前为止所拥有的
rand low high seed = fst (randomR (low, high) (mkStdGen seed))
randomlist :: Int -> Int -> Int -> [Int]
randomlist l h num = take num (map (rand l h) [0..])

1 个答案:

答案 0 :(得分:6)

import System.Random

tenPseudorandomNumbers :: Int -> [Int]
tenPseudorandomNumbers seed = take 10 . randomRs (0, 99) . mkStdGen $ seed

请注意,这不是伪随机,因为mkStdGen采用显式种子。如果您被允许在newStdGen中运行,那么IO会更好。