這是一個非常簡單的問題,我只想檢查我正在做什麼以及我如何解釋F#是否合理。如果我有聲明F#函數與值的對比
let printRandom =
x = MyApplication.getRandom()
printfn "%d" x
x
而不是創建printRandom
作爲函數,F#運行它一次,然後給它分配一個值。所以,現在,當我打電話給printRandom,而不是獲得一個新的隨機值並打印它時,我只是得到了第一次返回的內容。我可以解決這個問題我將其定義爲這樣的:
let printRandom() =
x = MyApplication.getRandom()
printfn "%d" x
x
這是繪製無參數的功能和價值之間的區別的正確方法?這對我來說似乎不太理想。它在咖喱,成分等方面有後果嗎?
請注意,您幾乎可以肯定地想要在第一次出現「x」前添加'let',否則您正在執行比較,然後丟棄結果。 – kvb 2010-08-24 16:36:43
真棒問題,有*確切*相同的問題。不幸的是我發現了這個解決方案後發現了這個。 – ses011 2012-09-06 01:47:44