Sdílet prostřednictvím


Lazy.Force, <'T> Rozšíření metody (F#)

Vynutí provedení tuto hodnotu a vrátí výsledek.Same as Value.Vzájemné vyloučení lze zabránit také computing hodnota jiných podprocesů.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Control.LazyExtensions

Sestavení: FSharp.Core (v FSharp.Core.dll)

// Signature:
type System.Lazy with
  member Force : unit -> 'T

// Usage:
lazy.Force ()

Vrácená hodnota

Hodnota opožděné objektu.

Příklad

Následující kód ilustruje použití Force rozšíření metody.

let lazyFactorial n = Lazy.Create (fun () ->
    let rec factorial n =
        match n with
        | 0 | 1 -> 1
        | n -> n * factorial (n - 1)
    factorial n)
let printLazy (lazyVal:Lazy<int>) =
    if (lazyVal.IsValueCreated) then
        printfn "Retrieving stored value: %d" (lazyVal.Value)
    else
        printfn "Computing value: %d" (lazyVal.Force())
let lazyVal1 = lazyFactorial 12
let lazyVal2 = lazyFactorial 10
lazyVal1.Force() |> ignore
printLazy lazyVal1
printLazy lazyVal2

Výstup označuje, který po Force se nazývá hodnota pro vytvoření lazyVal1, vypočítaná hodnota je načtena při tisku hodnoty.

  

Platformy

Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0

Viz také

Referenční dokumentace

Control.LazyExtensions modul (F#)

Lazy<T>

Opožděné výpočty (F#)