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 Force
aan. 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 int
Lazy<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.