如何获得Haskell RNG使用的种子?

时间:2015-01-20 00:09:37

标签: haskell random binary seed prng

我正在使用以下Haskell代码来编写一百万个伪随机位的文件:

import System.Random
rbits= do
  g <- getStdGen
  writeFile "haskellbits.txt" (take 1000000 (randomRs ('0', '1') g))

但是,我也有兴趣编写用于获取序列的种子。我该如何输出?

1 个答案:

答案 0 :(得分:1)

import System.Random
outputSeed = do
  g <- getStdGen
  print g

这会将种子打印成两个数字(我只是尝试了它并输出1010512508 1

您还可以使用read将字符串转换为随机种子。如果原始字符串采用该格式,则它将返回相同的种子。但是如果你使用其他字符串,它会做一些其他事情来生成种子。

Prelude System.Random> read "111 112" :: StdGen
111 112
Prelude System.Random> read "blabla" :: StdGen
37214 1