.tail
IL talimatını görmek istiyorum, ancak yazdığım kuyruk çağrılarını kullanan basit özyinelemeli fonksiyonlar, döngülere göre optimize edildi. Aslında bunu tahmin ediyorum, çünkü Reflektörde bir döngünün neye benzediğinden emin değilim. Yine de hiçbir .tail
opcodes görmüyorum. Projemin özelliklerinde "Kuyruk aramaları oluştur" seçeneğini işaretliyorum. Reflektörde hem Debug hem de Release yapılarını denedim..tail IL talimatını oluşturan bazı basit F # kodu nedir?
kullandığım kod sayfası 190, Programming F# by Chris Smith dan:
let factorial x =
// Keep track of both x and an accumulator value (acc)
let rec tailRecursiveFactorial x acc =
if x <= 1 then
acc
else
tailRecursiveFactorial (x - 1) (acc * x)
tailRecursiveFactorial x 1
kimse gerçekten .tail
üretecektir bazı basit F # kodunu önerebilirsiniz?
sadece şimdi kontrol ettim. Evet! o üretir. –