首先,我不在乎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