Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Expressões lentas são expressões que não são avaliadas imediatamente, mas são avaliadas quando o resultado é necessário. Isso pode ajudar a melhorar o desempenho do código.
Sintaxe
let identifier = lazy ( expression )
Observações
Na sintaxe anterior, a expressão é um código que é avaliado somente quando um resultado é necessário e o identificador é um valor que armazena o resultado. O valor é do tipo Lazy<'T>, em que o tipo real para 'T o qual é usado é determinado a partir do resultado da expressão.
Expressões lentas permitem que você melhore o desempenho restringindo 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, você chama o método Force.
Force faz com que a execução seja executada apenas uma vez. Chamadas subsequentes para Force retornar o mesmo resultado, mas não execute nenhum código.
O código a seguir ilustra o uso de expressões lentas e o uso de Force. Nesse código, o tipo result é Lazy<int>, e o Force método retorna um int.
let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())
A avaliação lenta, mas não o Lazy tipo, também é usada para sequências. Para obter mais informações, consulte Sequências.
Formatting
Para expressões lentas de várias linhas, coloque o parêntese de abertura na mesma linha que a lazy palavra-chave, com o corpo da expressão recuado em um nível:
let expensiveCalculation =
lazy (
let step1 = performStep1()
let step2 = performStep2 step1
step2 * 2
)
Para obter mais informações sobre a formatação de expressões lentas, consulte o guia de formatação F#.