Luie expressies

Luie expressies zijn expressies die niet onmiddellijk worden geëvalueerd, maar worden in plaats daarvan geëvalueerd wanneer het resultaat nodig is. Dit kan helpen om de prestaties van uw code te verbeteren.

Syntaxis

let identifier = lazy ( expression )

Opmerkingen

In de vorige syntaxis is expressie code die alleen wordt geëvalueerd wanneer een resultaat is vereist en id een waarde is waarmee het resultaat wordt opgeslagen. De waarde is van het type Lazy<'T>, waarbij het werkelijke type waarvoor wordt gebruikt 'T , wordt bepaald op basis van het resultaat van de expressie.

Met luie expressies kunt u de prestaties verbeteren door de uitvoering van een expressie te beperken tot alleen situaties waarin een resultaat nodig is.

Als u wilt afdwingen dat de expressies worden uitgevoerd, roept u de methode Forceaan. Force zorgt ervoor dat de uitvoering slechts één keer wordt uitgevoerd. Volgende aanroepen om hetzelfde resultaat te Force retourneren, maar voeren geen code uit.

De volgende code illustreert het gebruik van luie expressies en het gebruik van Force. In deze code is het type result , en de Force methode retourneert een intLazy<int>.

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

Luie evaluatie, maar niet het Lazy type, wordt ook gebruikt voor reeksen. Zie Reeksen voor meer informatie.

Zie ook