Expressões lentas

Expressões lentas são cálculos que não são avaliados imediatamente, mas quando o resultado é realmente necessário. Isso pode ajudar a melhorar o desempenho do código.

Sintaxe

let identifier = lazy ( expression )

Comentários

Na sintaxe anterior, a expressão é um código que é avaliado somente quando um resultado é necessário e o identificador é um valor que armazena esse resultado. O valor é do tipo Lazy<'T>, em que o tipo real usado para 'T é determinado com base no resultado da expressão.

Expressões lentas permitem melhorar o desempenho porque restringem a execução de uma expressão apenas às situações em que um resultado é necessário.

Para forçar a execução das expressões, chame o método Force. Force faz com que a execução seja realizada apenas uma vez. As chamadas subsequentes para Force retornam o mesmo resultado, mas não executam nenhum código.

O código a seguir ilustra o uso de expressões lentas e o uso de Force. Nele, o tipo de result é Lazy<int> e o método Force retorna um int.

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

A avaliação lenta, mas não o tipo Lazy, também é usada para sequências. Para saber mais, confira Sequências.

Confira também