作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我不关心这个问题中的seed
。
我的问题是,每次我想重新开始我的函数时,我是否应该调用 Random.self_init
?
let shuffle l =
Random.self_init ();
let tagl = List.map (fun x -> (Random.bits (), x)) l in
List.map (fun x -> snd x) (List.sort compare tagl);;
比如上面的代码中,Random.self_init()
是否必要?
最佳答案
每次要洗牌的时候都调用它,很浪费熵。最好在程序开始时调用一次。但是如果你想为程序的不同运行获得不同的洗牌,你确实需要在某个时候初始化随机生成器。对于某些应用程序,您希望使用您自己选择的特定值进行初始化(例如,如果您希望稍后能够重现结果)。为此,您可以使用 Random.init
或 Random.full_init
。
关于functional-programming - 我需要在 OCaml 中调用 Random.self_init 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118247/
首先,我不关心这个问题中的seed。 我的问题是,每次我想重新开始我的函数时,我是否应该调用 Random.self_init? let shuffle l = Random.self_init
我是一名优秀的程序员,十分优秀!