在 OCaml 4.14.1 中我得到这个:
# Random.init 2;;
- : unit = ()
# Random.int 100 ;;
- : int = 69
但是在 OCaml 5.0.0 中我得到这个:
# Random.init 2;;
- : unit = ()
# Random.int 100 ;;
- : int = 89
这显然不太好。有没有办法在所有版本的 OCaml 中获得相同的随机数?
编辑:我刚刚注意到他们确实在文档中提到了这一点(虽然遗憾的是没有像它应该的那样在顶部用巨大的粗体红色字母)。
5.0.0之前使用不同的算法(影响以下所有功能)
stdlib-random
已发布,其中包括从 3.07 到 5.0 的所有 PRNG 实现,因此您可以挑选您想要的。它适用于自 4.08 以来的每个版本的 OCaml。