मैं निम्नलिखित भेदभाव संघ को परिभाषित किया है: let rec stringify expr =
match expr with
| Con(x) -> string x
| Var(x) -> string x
| Add(x, y) -> sprintf "(%s + %s)" (stringify x) (
मैं कुछ हास्केल कोड लिखने की कोशिश कर रहा हूं जिसमें कई डेटा प्रकार हैं, जिनमें से प्रत्येक में कई कार्यान्वयन हो सकते हैं। ऐसा करने के लिए, मैं प्रत्येक डेटा प्रकार को class के रूप में परिभाषित करता
एफ # के प्रकार संवर्धन और प्रकार एक्सटेंशन के बीच क्या अंतर है, और क्या हमें वास्तव में दोनों की आवश्यकता है? क्या ऐसी स्थितियां हैं जहां एक दूसरे की तुलना में बेहतर है, और इसके विपरीत? मैं पूछ रहा हू
this question मुझे आश्चर्य है कि कैसे (या अगर) मैं सामान्य एफ # ऐरे प्रकार का विस्तार कर सकता हूं। मैं ऐसा कर सकता है: type System.Array with
member a.Last = a.GetValue(a.Length - 1)
लेकिन जैसा
F # में फ़ीचर और सदस्यों की दृश्यता टाइप करें #नामक सुविधा है जो मौजूदा प्रकारों को विस्तारित करने की डेवलपर क्षमता प्रदान करती है। दो प्रकार के एक्सटेंशन हैं: आंतरिक विस्तार और वैकल्पिक एक्सटेंशन। पह