uncurry
समारोह केवल कार्यों दो तर्क लेने के लिए काम करता है:क्या हैस्केल में विविध कार्य/टुपल्स हैं?
uncurry :: (a -> b -> c) -> (a, b) -> c
मैं युक्तियों के स्वेच्छाचारी संख्या के साथ काम करता है uncurry चाहते हैं, मैं सिर्फ अलग कार्यों लिख सकते हैं:
uncurry2 f (a, b) = f a b
uncurry3 f (a, b, c) = f a b c
uncurry4 f (a, b, c, d) = f a b c d
uncurry5 f (a, b, c, d, e) = f a b c d e
लेकिन यह हो जाता है जल्दी थकाऊ क्या इसे सामान्यीकृत करने का कोई तरीका है, इसलिए मुझे केवल एक समारोह लिखना है?
इस तरह से नहीं, लेकिन किसी भी मामले में, आप ऐसा क्यों करना चाहते हैं? मेरे अनुभव में बहुत कम मामले हैं जहां आपको uncurry2 –
@ पॉल से अधिक की आवश्यकता है: कोई विशिष्ट कारण नहीं है, लेकिन जैसे ही मैं किसी भी तरह का दोहराव पैटर्न देखता हूं, मैं खुद से पूछता हूं कि मैं इसे कैसे सामान्य और अमूर्त कर सकता हूं। – fredoverflow