मैं .tail
आईएल निर्देश देखना चाहता हूं, लेकिन मैं लिखने वाले पूंछ कॉल का उपयोग करके सरल रिकर्सिव फ़ंक्शंस को स्पष्ट रूप से लूप में अनुकूलित किया गया है। मैं वास्तव में इस पर अनुमान लगा रहा हूं, क्योंकि मुझे पूरी तरह से यकीन नहीं है कि परावर्तक में एक लूप कैसा दिखता है। मुझे निश्चित रूप से कोई भी .tail
ऑपकोड नहीं दिख रहा है। मेरे पास प्रोजेक्ट की प्रॉपर्टीज में "पूंछ कॉल जेनरेट करें" है। मैंने प्रतिबिंबक में डीबग और रिलीज बिल्ड दोनों की भी कोशिश की है।कुछ आसान एफ # कोड क्या है जो .टेल आईएल निर्देश उत्पन्न करता है?
कोड रहा करते थे, पेज 190 Programming F# by Chris Smith से है:
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
किसी को कुछ सरल एफ # कोड है जो वास्तव में .tail
उत्पन्न होगा सुझाव है कि कर सकते हैं?
मैं बस अब देख लिया है। हाँ! यह उत्पन्न करता है। –