Gecikmeli İfadeler
Gecikmeli ifadeler, hemen değerlendirilmeyen ancak bunun yerine sonuç gerektiğinde değerlendirilen ifadelerdir. Bu, kodunuzun performansını geliştirmeye yardımcı olabilir.
Sözdizimi
let identifier = lazy ( expression )
Açıklamalar
Önceki söz diziminde ifade, yalnızca bir sonuç gerektiğinde değerlendirilen koddur ve tanımlayıcı sonucu depolayan bir değerdir. değeri, için kullanılan 'T
gerçek türün ifadenin sonucundan belirlendiği türündedirLazy<'T>
.
Gecikmeli ifadeler, bir ifadenin yürütülmesini yalnızca sonucun gerekli olduğu durumlarla kısıtlayarak performansı geliştirmenizi sağlar.
İfadeleri gerçekleştirilmeye zorlamak için yöntemini Force
çağırırsınız. Force
yürütmenin yalnızca bir kez gerçekleştirilmesine neden olur. Aynı sonucu döndürmek için Force
sonraki çağrılar, ancak herhangi bir kod yürütmeyin.
Aşağıdaki kodda gecikmeli ifadelerin kullanımı ve kullanımı gösterilmektedir Force
. Bu kodda, türü result
şeklindedir Lazy<int>
ve Force
yöntemi bir int
döndürür.
let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())
Gecikmeli değerlendirme ancak türü değil Lazy
, diziler için de kullanılır. Daha fazla bilgi için bkz . Diziler.