是否有一個原因,一個寫行:F#功能簡潔生成隨機數時
(fun max -> rndGen.Next(max))
https://github.com/sebfia/OffLog/blob/master/Shared/Helpers.fs#L8
let NextRandom =
let rndGen = new System.Random(int System.DateTime.Now.Ticks)
(fun max -> rndGen.Next(max))
而不是僅僅宣佈帕拉姆最大前期和呼叫rndGen.Next(max)
,這樣的嗎?
let NextRandom (max: int) =
let rndGen = new System.Random(int System.DateTime.Now.Ticks)
rndGen.Next(max)
剛跑來看差異;) –
呵呵!要看到@FoggyFinder的不同之處,你必須多次運行第二個版本。除非在調用之間有足夠的時間,否則'System.DateTime.Now.Ticks'可能多次返回相同的值,因爲它的粒度非常粗糙。除此之外,要小心'System.Random'。這不完全是一個精心設計的RNG ......當我看到它用於認真的工作時,我會感到一種怪異的感覺。 – Vandroiy