Я пытаюсь использовать F # для генерации списка случайных троек -> двух случайных чисел и их суммы:
let foo minNum maxNum =
let rnd = System.Random()
let first = rnd.Next(minNum, maxNum)
let second = rnd.Next(minNum, maxNum)
let third = first + second
first, second, third
которые могут быть вызваны таким образом и работают хорошо (всегда дает новое случайное число) (при использовании интерактивного F #)
foo 0 50
При попытке сгенерировать список случайных троек вроде этого
List.init 100 (fun index -> foo 0 50)
я хотел бы, чтобы это был список из 100 рандомизированных троек , но вместо этого приходят все с тем же значением. Я вижу, что функция не зависит от индекса и, следовательно, не требует перерасчета, но я не уверен, как ее обойти (я пробовал ввести индекс как неиспользуемую фиктивную переменную, а также попытался ввести индекс как случайное начальное число, но ни одно из них не помогло)