Есть причина, почему один пишет строку: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