f# - Creating a function that works for all numeric primitives -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 6 उत्तर

मैं एक विधानसभा के साथ लिख रहा हूँ कुछ कार्यक्षमता जिसका उद्देश्य अंकीय primitives, यानी फ्लोट, इंट, दशमलव, आदि के साथ काम करना है।

फ़ंक्शन में से एक दो अनुक्रमों को लेता है और दो के चालू औसत की गणना करता है। फ्लोट्स के लिए एक कार्यान्वयन इस तरह दिख सकता है

  औसत x y = (x + y) / 2 दें चलो एक = [1.10] | & gt; List.map float let b = List.rev [1..10] | & gt; List.map फ्लोट परिणाम = (ए, बी) || & gt; List.map2 औसत  

मैं यह सामान्य कैसे अंकीय primitives के लिए कर सकता हूँ?

<पी> एफ # को "स्टेटिक सदस्य बाधाएं" भी कहा जाता है जिसे सामान्य संख्यात्मक कोड लिखने के लिए इस्तेमाल किया जा सकता है। यह एफ # तक सीमित है (क्योंकि .NET इस तरह की कोई अवधारणा नहीं है)।

सामान्य तौर पर, आपको फ़ंक्शन को इनलाइन के रूप में चिन्हित करने की आवश्यकता है। इससे फ़ंक्शन के अंदर मानक ऑपरेटर सामान्य रूप से व्यवहार करेंगे। इसके अलावा, आपको स्थिरांक (जैसे 2.0 ) का उपयोग करने से बचने की आवश्यकता है आप आमतौर पर उन्हें भाषाप्रतिष्ठा मॉड्यूल से कुछ ऑपरेशन के साथ प्रतिस्थापित कर सकते हैं उदाहरण के लिए, आपके औसत फ़ंक्शन को सामान्य उपयोग के रूप में लिखा जा सकता है:

  इनलाइन औसत xy = भाषाप्रतिष्ठितों को दें.डिवाइडबियंट (x + y) 2  

अधिक जानकारी के लिए।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -