पहले, मैं इस संभावना को स्वीकार करता हूं कि यह प्रश्न एक डुप्लिकेट हो सकता है; बस मुझे पता है।
मुझे उत्सुकता है कि क्या सामान्य "सर्वश्रेष्ठ अभ्यास" उन स्थितियों के लिए है जब उत्परिवर्तन वांछित है। F # इसके लिए दो सुविधाएं प्रदान करता है: let mutable
बाइंडिंग, जो "सबसे" भाषाओं में चर की तरह काम करता है, और संदर्भ सेल ( ref
फ़ंक्शन के साथ बनाया गया ) जिसे उपयोग करने के लिए स्पष्ट dereferencing की आवश्यकता होती है।
ऐसे मामलों की एक जोड़ी जहां एक के बाद एक या अन्य में "मजबूर" है: .NET इंटरॉप साथ परिवर्तनशील उपयोग करने के लिए जाता है <-
, और कार्यप्रवाह संगणना में एक का उपयोग करना चाहिए ref
के साथ :=
। तो उन मामलों में बहुत स्पष्ट हैं, लेकिन मैं उत्सुक हूं कि उन परिदृश्यों के बाहर अपने स्वयं के परिवर्तनशील चर बनाते समय क्या करना चाहिए। एक शैली का दूसरे पर क्या लाभ है? (शायद कार्यान्वयन में आगे की अंतर्दृष्टि मदद करेगी।)
धन्यवाद!