यदि आप बिल्डर-ऑब्जेक्ट की While
विधि को परिभाषित करते हैं, तो आप अपने computation expressions में while
-loops का उपयोग कर सकते हैं। While
विधि के हस्ताक्षर है:एफ # में गणना अभिव्यक्तियों में `while`-loops की भूमिका क्या है?
member b.While (predicate:unit->bool, body:M<'a>) : M<'a>
तुलना के लिए, For
विधि के हस्ताक्षर है:
member b.For (items:seq<'a>, body:unit->M<'a>) : M<'a>
आपको लगता है कि नोटिस देना चाहिए, While
-method में, शरीर एक सरल प्रकार है , और For
विधि में कोई फ़ंक्शन नहीं है।
आप let
जैसे कुछ अन्य बयान, और अपने अभिकलन-भाव के अंदर समारोह कॉल एम्बेड कर सकते हैं, लेकिन उन असंभव एक while
-loop एक बार से अधिक में निष्पादित कर सकते हैं।
builder {
while foo() do
printfn "step"
yield bar()
}
क्यों while
एक बार से अधिक मार डाला जाता है -loop नहीं, लेकिन केवल दोहराया? फॉर-लूप से महत्वपूर्ण अंतर क्यों? बेहतर अभी तक, गणना-अभिव्यक्तियों में जबकि-loops का उपयोग करने के लिए कुछ इरादा रणनीति है?
अच्छा। मुझे 'रन' के बारे में पता नहीं था। –