इस उदाहरण कोड ले लो (उपेक्षा यह पल के लिए बुरी तरह अक्षम किया जा रहा है)रिकर्सिव lambdas
let listToString (lst:list<'a>) = ;;' prettify fix
let rec inner (lst:list<'a>) buffer = ;;' prettify fix
match List.length lst with
| 0 -> buffer
| _ -> inner (List.tl lst) (buffer + ((List.hd lst).ToString()))
inner lst ""
यह एक आम पैटर्न मैं एफ # में भर आते है, मैं एक आंतरिक समारोह जो खुद recurses की आवश्यकता है कुछ मूल्यों पर - और मुझे केवल एक बार इस समारोह की आवश्यकता है, क्या किसी भी तरह से लैम्ब्डा को स्वयं से (कुछ जादू कीवर्ड या कुछ) कहने के लिए संभव है? मैं कुछ इस तरह देखने के लिए कोड चाहते हैं:
let listToString2 (lst:list<'a>) = ;;' prettify fix
(fun
(lst:list<'a>) buffer -> match List.length lst with ;;' prettify fix
| 0 -> buffer
| _ -> ##RECURSE## (List.tl lst) (buffer + ((List.hd lst).ToString()))
) lst ""
लेकिन जैसा कि आप उम्मीद कर सकते हैं कोई रास्ता नहीं है के भीतर ही गुमनाम समारोह है, जो है जहाँ मैं ## recurse ##