मैं विभिन्न ब्लॉग पढ़ने और प्रवाह के उत्तरों पर ढेर करके करी को समझने की कोशिश कर रहा हूं और मुझे लगता है कि मैं कुछ समझ गया। हास्केल में, हर समारोह curried है, इसका मतलब है, जब आप एक समारोह f x y = x + y
की तरह यह वास्तव में ((f x) y)
इस में है, समारोह शुरू में पैरामीटर के रूप में पहले पैरामीटर 'एक्स' ले और आंशिक रूप से यह लागू होता है कार्य करने के लिए एफ जो बदले में वाई के लिए एक समारोह देता है। जहां यह केवल वाई एक पैरामीटर लेता है और फ़ंक्शन को लागू करता है। दोनों मामलों में फ़ंक्शन केवल एक पैरामीटर लेता है और एकल पैरामीटर लेने के लिए फ़ंक्शन को कम करने की प्रक्रिया को 'करीइंग' कहा जाता है। अगर मेरी समझ यहां गलत है तो मुझे सही करें।
तो यदि यह सही है, तो क्या आप कृपया मुझे बता सकते हैं कि क्या कार्य 'दो' और 'तीन' करीबी कार्य हैं?
क्या निम्नलिखित कोड वास्तव में हैकेल में घुमा रहा है?
three x y z = x + y + z
two = three 1
same = two 1
इस मामले में, मैं दो विशेष कार्य है, 'दो' और 'एक ही' जो केवल एक पैरामीटर लेने के लिए कम हो जाता है तो यह curried है?
जीएचसीआई में ': t' कमांड का उपयोग करके आप इसे स्वयं परीक्षण कर सकते हैं (': टी तीन' 'तीन' के प्रकार को प्रदर्शित करेगा)। – Mephy
महान, उसे नहीं पता था। धन्यवाद। – Nair
@ जोशुआहन्ना - शायद आप इसे यहां देखेंगे। मुझे यकीन है कि कोई जवाब नहीं था या आपके जवाब को हटाने के लिए - मुझे उम्मीद थी कि आप नायर के लिए थोड़ी उपयोगी जानकारी जोड़ देंगे - क्षमा करें आदमी – Carsten