首先,我不在乎seed
这个问题。我需要在OCaml中调用Random.self_init吗?
我的问题是,我是否应该每次打电话给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()
或不?
但我可以完全删除?我的意思是,在我的程序中根本不要拨打 – 2013-02-27 17:27:24
如果你根本不打电话,程序工作正常。但它每次都会产生相同的随机数。 – 2013-02-27 17:29:09