कार्यात्मक प्रोग्रामिंग में, कई वैकल्पिक मानों (विकल्प के रूप में दर्शाए गए) को सुरक्षित और पूर्वानुमानित तरीके से संयोजित करना एक सामान्य कार्य है। इफ़ेक्ट-टीएस विकल्पों को एक साथ "ज़िप" करने के लिए कई तरीके प्रदान करता है, जिससे आप उनके मूल्यों को जोड़ सकते हैं या विशिष्ट नियमों के आधार पर किसी एक का चयन कर सकते हैं। इस लेख में, हम ज़िपिंग विकल्पों के लिए तीन प्रमुख कार्यों का पता लगाएंगे: O.zipRight, O.zipLeft, और O.zipWith।
O.zipRight फ़ंक्शन आपको दो विकल्पों को संयोजित करने की अनुमति देता है, पहले को छोड़कर दूसरे को वापस कर देता है। यदि दोनों विकल्प कुछ हैं तो यह ऑपरेशन सफल होता है; अन्यथा, यह कुछ नहीं लौटाता।
function zipping_ex01() { const some1 = O.some(1); // Create an Option containing the value 1 const some2 = O.some(2); // Create an Option containing the value 2 const none = O.none(); // Create an Option representing no value console.log(pipe(some1, O.zipRight(some2))); // Output: Some(2) (returns the second Option) console.log(pipe(some1, O.zipRight(none))); // Output: None (since the second Option is None) console.log(pipe(none, O.zipRight(some2))); // Output: None (since the first Option is None) }
यह फ़ंक्शन विशेष रूप से तब उपयोगी होता है जब आप कोई ऐसा ऑपरेशन करना चाहते हैं जहां परिणाम पूरी तरह से दूसरे विकल्प पर निर्भर हो।
O.zipLeft फ़ंक्शन O.zipRight का समकक्ष है, जो आपको दूसरे को हटाकर पहले को वापस करते समय दो विकल्पों को संयोजित करने की अनुमति देता है। पुनः, यह ऑपरेशन सफल होता है यदि दोनों विकल्प कुछ हैं; अन्यथा, यह कुछ नहीं लौटाता।
function zipping_ex02() { const some1 = O.some(1); // Create an Option containing the value 1 const some2 = O.some(2); // Create an Option containing the value 2 const none = O.none(); // Create an Option representing no value console.log(pipe(some1, O.zipLeft(some2))); // Output: Some(1) (returns the first Option) console.log(pipe(some1, O.zipLeft(none))); // Output: None (since the second Option is None) console.log(pipe(none, O.zipLeft(some2))); // Output: None (since the first Option is None) }
यह फ़ंक्शन तब उपयोगी होता है जब परिणाम पहले विकल्प द्वारा निर्धारित किया जाना चाहिए, लेकिन आप अभी भी यह सुनिश्चित करना चाहते हैं कि दूसरा विकल्प वैध है।
O.zipWith फ़ंक्शन सबसे अधिक लचीलापन प्रदान करता है, जो आपको दिए गए फ़ंक्शन का उपयोग करके दो विकल्पों के मानों को संयोजित करने की अनुमति देता है। यदि दोनों विकल्प कुछ हैं, तो फ़ंक्शन लागू होता है, और परिणाम एक नए विकल्प में लपेटा जाता है। यदि कोई भी विकल्प कोई नहीं है, तो फ़ंक्शन कोई नहीं लौटाता है।
function zipping_ex03() { const some1 = O.some(1); // Create an Option containing the value 1 const some2 = O.some(2); // Create an Option containing the value 2 const none = O.none(); // Create an Option representing no value const add = (a: number, b: number) => a b; console.log(pipe(some1, O.zipWith(some2, add))); // Output: Some(3) (since 1 2 = 3) console.log(pipe(some1, O.zipWith(none, add))); // Output: None (since the second Option is None) console.log(pipe(none, O.zipWith(some2, add))); // Output: None (since the first Option is None) }
यह फ़ंक्शन आदर्श है जब आपको दो विकल्पों के मानों पर एक ऑपरेशन करने की आवश्यकता होती है, क्योंकि यह सुनिश्चित करता है कि ऑपरेशन निष्पादित होने से पहले दोनों मान मौजूद हैं।
इफ़ेक्ट-टीएस में ज़िपिंग विकल्प वैकल्पिक मानों को सुरक्षित रूप से संयोजित करने का एक शक्तिशाली तरीका है। चाहे आप पहले विकल्प में रुचि रखते हों, दूसरे में, या दोनों के संयोजन में, O.zipRight, O.zipLeft, और O.zipWith फ़ंक्शन आपको इन परिदृश्यों को कुशलतापूर्वक संभालने के लिए आवश्यक उपकरण प्रदान करते हैं। इन पैटर्न को समझकर और लागू करके, आप अधिक मजबूत और पूर्वानुमानित कार्यात्मक कोड लिख सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3