我试图在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..])
答案 0 :(得分:6)
import System.Random
tenPseudorandomNumbers :: Int -> [Int]
tenPseudorandomNumbers seed = take 10 . randomRs (0, 99) . mkStdGen $ seed
请注意,这不是伪随机,因为mkStdGen
采用显式种子。如果您被允许在newStdGen
中运行,那么IO
会更好。