Aracılığıyla paylaş


Tembel hesaplamaları (F#)

Tembel hesaplamaları hemen değerlendirilmez, ancak sonuç gerektiğinde bunun yerine değerlendirilen yalıtımı olan. Bu kod performansını artırmak için yardımcı olur.

let identifier = lazy ( expression )

Notlar

Önceki sözdiziminde, expression sadece bir sonuç, gerektiğinde değerlendirilen kodudur ve identifier sonucu saklayan bir değerdir. Değer türüdür yavaş <'T>, gerçek, girildiği için kullanılan 'T ifade sonucunda belirlenir.

Tembel hesaplamaları bir hesaplamanın sonucu gereken durumlar için yürütme kısıtlayarak performansı sağlar.

Gerçekleştirilecek hesaplama zorlamak için yöntem çağrısı Force. Forceyalnızca bir kez gerçekleştirilecek yürütülmesine neden olur. Sonraki çaðrýlar Force aynı sonucu, ancak herhangi bir kodu çalıştırmamayı dönmek.

Aşağıdaki kod, tembel hesaplaması kullanımını ve kullanımını gösterir Force. Bu kodda türü result olan Lazy<int>ve Force yöntemi döndürür bir int.

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

Tembel değerlendirme değil ama Lazy yazın, serileri için de kullanılır. Daha fazla bilgi için bkz. Sıraları (F#).

Ayrıca bkz.

Başvuru

LazyExtensions modülü

Diğer Kaynaklar

F# dil başvurusu