चलो कहते हैं कि हम इस बात से मुक्त समारोह करते हैं? आईई। मुझे पता है कि नक्शा, कॉन्स और फ्लिप फ़ंक्शंस क्या हैं। लेकिन उन्हें इस तरह एक साथ रखना सिर्फ मुझे समझ में नहीं आता है। इस समारोह के अंदर वास्तव में क्या हो रहा है? ऐसा लगता है कि मैं हर बार उसमें वापस लौटता हूं लेकिन ... क्यों?एफ 1 = फ्लिप कॉन्स मैप। यह फ़ंक्शन कैसे काम करता है?</p> <pre><code>f1 = flip const map </code></pre> <p>मैं वास्तव में यह कैसे काम करता है और क्या यह करने के लिए माना जाता है के बारे में पता कर रहा हूँ:
उत्तर
ध्यान रखें कि हास्केल में सभी फ़ंक्शंस केवल एक तर्क लेते हैं लेकिन एक और फ़ंक्शन लौटकर कई तर्क लेते हैं। तो flip const map
को भी (flip const) map
के रूप में लिखा जा सकता है। const
आमतौर पर अपने दूसरे तर्क को अनदेखा करता है और इसका पहला तर्क देता है। flip
तर्कों के क्रम को उलट देता है, इसलिए flip const
पहले तर्क को अनदेखा करता है और दूसरा तर्क देता है। तो map
अनदेखा हो जाता है और एक फ़ंक्शन वापस कर दिया जाता है जो हमेशा इसकी तर्क देता है।
इससे कोई फर्क नहीं पड़ता कि आप वहां map
से कुछ और डालते हैं। अभिव्यक्ति flip const
const
के तर्कों को फ़्लिप करती है, इसलिए हमेशा अपना पहला तर्क लौटने की बजाय, यह अपना दूसरा लौटा देता है। आप f1 = flip const undefined
को फिर से परिभाषित करके इसका परीक्षण कर सकते हैं। अगर undefined
का मूल्यांकन कभी किया जाता है तो इसका अपवाद होगा, लेकिन आप देख सकते हैं कि यह वही व्यवहार देता है। अनिवार्य रूप से, flip const undefined = id
।
बिट
flip const map x = (flip const) map x
= const x map
= x
यही कारण है कि यह हमेशा रिटर्न क्या आप इसे देना है द्वारा देखते हैं कि यह समारोह क्या करता है, थोड़ा!
- 1. <: <, <% <, =: = कंपाइलर में काम का स्केल कार्यान्वयन वास्तव में कैसे करता है?
- 2. प्रिंट क्या है << ईओएफ; और यह कैसे काम कर रहा है?
- 3. '[<-` फ़ंक्शन आर में कैसे काम करता है?
- 4. << पायथन में क्या करता है?
- 5. क्या करता है | और << मतलब है?
- 6. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 7. RemoveRange() विधि सूची <> में कैसे काम करता है?
- 8. लूप के लिए यह कैसे काम करता है? के लिए (; i <length; i ++)
- 9. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 10. वाईएएमएल में << (डबल बायां तीर) वाक्यविन्यास क्या है, और यह कहां है?
- 11. 1 << 0 क्या है?
- 12. <<बजाय << स्ट्रीम आउटपुट में संकलन क्यों करता है?
- 13. "ऑपरेटर <<" क्या कहा जाता है?
- 14. ऑपरेटर << ओवरलोडिंग कार्य कैसे करता है?
- 15. वेक्टर <unique_ptr> push_back के साथ आकार बदलना - यह कैसे काम करता है?
- 16. << ऑपरेटर सी ++ में क्या कर रहा है?
- 17. शोवेल (<<) ऑपरेटर रूबी हैश में कैसे काम करता है?
- 18. << पायथन में क्या प्रतिनिधित्व करता है?
- 19. बैश में <() क्या करता है?
- 20. मैं एफ # 3.0 के साथ .NET 4.5 बीटा उपयोग कर रहा हूँ, और मैं एक LINQ <code>Expression<Func<'a, 'b>></code> के प्रकार <code>Expr<'a -> 'b></code> का एक एफ # उद्धरण कन्वर्ट करने के लिए कोशिश कर रहा हूँ समारोह <'a, obj>>
- 21. f.lux कैसे काम करता है? विशेष रूप से अगर यह में क्या करना संभव होगा सोच रहा था मैं पता है कि कैसे यह आपकी मशीन पर रंग बदलता है चाहते हैं</p> <p><a href="http://www.stereopsis.com/flux/" rel="noreferrer">http://www.stereopsis.com/flux/</a></p> <p>,, और यह भी:
- 22. WebAPI AuthorizationFilterAttribute:</p> <p>MVC4 में, यह ठीक काम करता है: ActionArguments खाली
- 23. std :: declval <T>() काम कैसे करता है?
- 24. has_secure_password मेरे मॉडल वर्ग में कैसे काम करता है? अपने मॉडल वर्ग के लिए</p> <pre><code>has_secure_password </code></pre> <p>और जादू का एक समूह होता है:
- 25. क्या class_eval << करता है - "end_eval", __FILE__, __LINE__ रूबी में क्या मतलब है?
- 26. वैकल्पिक <Map>
- 27. PHP में <<< ईओडी का उपयोग क्या है?
- 28. ऑब्जर्जेबल कोलेक्शन <T> कैसे काम करता है?
- 29. क्यूटी/सी ++ में बाध्यकारी संपत्ति कैसे बनाएं?</p> <pre><code>Rectangle { width: parent.width } </code></pre> <p>यह सी में भी यह करने के लिए ++ संभव है:
- 30. -><- ऑपरेटर क्या करता है?</p> <pre><code>IntPredicate neg = x -> x <- x; </code></pre> <p>यह क्या है, रिवर्स डबल लैम्ब्डा के कुछ प्रकार: