は、1つの行を書き込み理由があります: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))
だけではなく先行のparam最大を宣言し、このように、rndGen.Next(max)
を呼び出しますか?
let NextRandom (max: int) =
let rndGen = new System.Random(int System.DateTime.Now.Ticks)
rndGen.Next(max)
ちょうど実行し、違いを参照してください;) –
Hehe!違いを見るには、@ FoggyFinderは2回目のバージョンを複数回実行する必要があることを意味します。呼び出し間に十分な時間が経過しない限り、 'System.DateTime.Now.Ticks'はその粒度のために同じ値を何度も返すことがあります。これは驚くほど粗いことがあります。それを除いて、 'System.Random'には注意が必要です。それはうまく設計されたRNGではありません...私はそれが真剣な仕事で使用されて見たときに私は不気味な感じのビットを取得します。 – Vandroiy