F#中的随机值

时间:2015-03-05 23:49:44

标签: random f#

我的F#代码是这样的:

let ran = new System.Random()
let makeVal = ran.NextDouble()

为什么当我使用makeVal时,我会在应用程序会话的一次运行中的每次调用中得到相同的随机数(即它不是种子问题)。

1 个答案:

答案 0 :(得分:2)

默认情况下,F#中的值是不可变的。所以makeVal在第一次绑定后不会改变。要获得不同的随机值,您应该再次调用ran.NextDouble()。 例如,使用函数:

let makeVal() = ran.NextDouble()