Sdílet prostřednictvím


Výrazy Lazy

Opožděné výrazy jsou výrazy , které se nevyhodnocují okamžitě, ale vyhodnocují se, když je potřeba výsledek. To může pomoct zlepšit výkon kódu.

Syntaxe

let identifier = lazy ( expression )

Poznámky

V předchozí syntaxi je výraz kód, který se vyhodnotí pouze v případě, že je výsledek povinný, a identifikátor je hodnota, která ukládá výsledek. Hodnota je typu Lazy<'T>, kde skutečný typ, pro který se používá 'T , je určen z výsledku výrazu.

Opožděné výrazy umožňují zvýšit výkon omezením provádění výrazu pouze na situace, kdy je potřeba výsledek.

Chcete-li vynutit provedení výrazů, zavoláte metodu Force. Force způsobí, že provádění se provede pouze jednou. Následná volání, která Force vrátí stejný výsledek, ale nespustí žádný kód.

Následující kód znázorňuje použití opožděných výrazů a použití Force. V tomto kódu je typ result je Lazy<int>a Force metoda vrátí .int

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

Opožděné vyhodnocení, ale ne Lazy typ, se používá také pro sekvence. Další informace najdete v tématu Sekvence.

Viz také