Sdílet prostřednictvím


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

Výpočty lazy jsou výpočty, které nejsou vyhodnocovány okamžitě, ale jsou vyhodnocovány místo výsledku je potřeba.Toto může pomoci zvýšit výkon vašeho kódu.

let identifier = lazy ( expression )

Poznámky

V syntaxi předchozí expression je kód, který je vyhodnocován, pouze pokud je to požadováno, výsledek a identifier je hodnota, která ukládá výsledek.Hodnota je typu opožděné, <'T>, kde skutečné typ, který se používá pro 'T se určí z výsledek výrazu.

Opožděné výpočty umožňují zlepšení výkonu omezením spuštění pouze situací, ve kterých je zapotřebí výsledek výpočtu.

Chcete-li výpočet provést, volejte metodu Force.Forcezpůsobí spuštění provést pouze jednou.Následující volání na Force vrátí stejný výsledek, ale spustit libovolný kód.

Následující kód ilustruje použití lazy výpočtu a používání Force.V tomto kódu typu result je Lazy<int>a Force metoda vrátí int.

let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())

Lazy evaluation, ale není Lazy typ, se také používá pro sekvence.Další informace naleznete v tématu Sekvence (F#).

Viz také

Referenční dokumentace

Modul LazyExtensions

Další zdroje

Referenční dokumentace jazyka F#