Random F中的随机值#

Random F中的随机值#,random,f#,Random,F#,我有这样的F#代码: let ran = new System.Random() let makeVal = ran.NextDouble() 为什么当我使用makeVal时,在应用程序会话的一次运行中,每次调用都会得到相同的随机数(即,这不是种子问题)。默认情况下,F#中的值是不可变的。因此,在第一次绑定后,makeVal不会更改。要获得不同的随机值,应再次调用ran.NextDouble()。 例如,使用以下函数: let makeVal() = ran.NextDouble() 我刚刚

我有这样的F#代码:

let ran = new System.Random()
let makeVal = ran.NextDouble()
为什么当我使用makeVal时,在应用程序会话的一次运行中,每次调用都会得到相同的随机数(即,这不是种子问题)。

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

let makeVal() = ran.NextDouble()

我刚刚发现makeVal必须是一个函数,但是如何生成一个没有参数的函数呢?