2

「BeginningF#」という本を読んでいます。遅延評価を次のように示すために、コードなどの短いリストがあります。

lazyValue = lazy ( 2 + 2 )
let actualValue = Lazy.force lazyValue
printfn "%i" actualValue

簡単そうに見えますが、機能力が定義されていないと言うのは間違いです???

私はそれについて混乱しています。msdnから検索すると、答えがないようです。

誰でも何が起こったのか教えてくれますか?

4

3 に答える 3

8

何らかの理由で、Lazy.forceは現在F#PowerPackに含まれています。

この関数には依存関係がないため、便利なようにF#PowerPackからコピーすることをお勧めします。

module Lazy =
    let force (x: Lazy<'T>) = x.Force()
于 2012-06-07T07:47:16.800 に答える
4

Lazy.force著者はおそらく以前に OCaml を使用していたので書いています。F# は、時間をかけて OCaml スタイルの API から C# スタイルの API に引き寄せられました。今、人々はx.Valueor と書きx.Force()ます。代わりは。

于 2012-06-07T14:56:41.183 に答える
2

あなたのコードは

    let lazyValue = lazy ( 2 + 2 )
    let actualValue = lazyValue.Force()
    printfn "%i" actualValue
于 2012-06-07T06:55:55.217 に答える