How do you combine two functions in OCaml? -


  आरईसी का परीक्षण करें b = एक के साथ मेल करें। [] - & gt; [] | (ई, आर) :: पूंछ - & gt; यदि बी = ई तो आर:: (टेस्ट टेल्स बी) अन्य टेस्ट टेल्स बी test2 जी = मैच जी के साथ | ई, आर - & gt; ई, (परीक्षण r)   

मेरे दो उपर्युक्त कार्यों के बारे में 2 प्रश्न हैं।

  1. test2 कॉल कर रहा है परीक्षण । मैं test को test2 में कैसे डाल सकता / सकती हूं, तो यह एक फ़ंक्शन बन सकता है?

  2. इन test2 , ई, आर - & gt; ई, (परीक्षण आर) के साथ लाइन पर - परीक्षण 2 तर्क स्वीकार करते हैं, लेकिन यहां हम केवल r , तो इसका मतलब क्या है?

    दिए गए सवाल 2, मुझे लगता है कि आपने ये कार्य नहीं लिखा है इसलिए आपको उन्हें मिले, क्योंकि वे बहुत बुरी तरह से लिखे गए हैं (सीएफ इन्फ्रा), तो यह जानना कठिन है कि आपके सवालों का जवाब कैसे होगा ... वैसे भी:

    1। पहले , ध्यान रखें कि कई मामलों में दो अलग-अलग फ़ंक्शन रखते हुए कोड को पढ़ने, बनाए रखने, पुन: उपयोग करने में आसान बनाता है ... ऐसा कहा गया है, ऐसा करने के दो तरीके हो सकते हैं:

    • आप या तो परीक्षण अंदर test2 परिभाषित कर सकते हैं उस मामले में आप ( test और test2 की अपनी परिभाषाओं को ध्यान में रखते हुए लिखेंगे):

        चलो test2 g = आज्ञा देना ab = मैच के साथ | [] - & gt; [] | (ई, आर) :: पूंछ - & gt; अगर बी = ई तो आर:: (टेस्ट टेल्स बी) अन्य टेस्ट टेल्स बी में मैच जी में | ई, आर - & gt; ई, (परीक्षण आर)    
    • या, आप फ़ंक्शन को फिर से लिख सकते हैं ताकि यह सभी कार्यों को पूरा कर सके, लेकिन आमतौर पर यह कोड कम स्पष्ट बनाता है आपका मामला, मुझे लगता है कि यह वास्तव में समझ में नहीं आता है।

      2। परीक्षण r सिर्फ आंशिक आवेदन: यह एक फ़ंक्शन है, जब एक तर्क दिया जाता है b , परीक्षण आरबी वापस आ जाएगा। आपको इसे पढ़ना चाहिए: (हालांकि मुझे यकीन नहीं है कि विषय के लिए सबसे अच्छा परिचय)

      3। आपके द्वारा दिया गया कार्य कई कारणों से बुरी तरह से लिखा गया है। उनमें से कुछ हैं:

      • परीक्षण नहीं है, जब यह आसानी से हो सकता है (यदि आप नहीं जानते कि टेलरक क्या है, तो इसके बारे में अभी भूलें)
      • नाम की पसंद बहुत अच्छी नहीं है - इसलिए यह जानना कठिन है कि क्या क्या है।
      • कुछ अभिव्यक्तियां सरल हो सकती हैं उदाहरण के लिए, आप लिख सकते हैं:

          चलिए test2 (e, r) = (e, test r)     

        आशा है कि आपकी मदद की! =)

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -