"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > इफ़ेक्ट-टीएस में ज़िपिंग विकल्प: एक व्यावहारिक मार्गदर्शिका

इफ़ेक्ट-टीएस में ज़िपिंग विकल्प: एक व्यावहारिक मार्गदर्शिका

2024-11-07 को प्रकाशित
ब्राउज़ करें:813

Zipping Options in Effect-TS: A Practical Guide

इफ़ेक्ट-टीएस में ज़िपिंग विकल्प: एक व्यावहारिक मार्गदर्शिका

कार्यात्मक प्रोग्रामिंग में, कई वैकल्पिक मानों (विकल्प के रूप में दर्शाए गए) को सुरक्षित और पूर्वानुमानित तरीके से संयोजित करना एक सामान्य कार्य है। इफ़ेक्ट-टीएस विकल्पों को एक साथ "ज़िप" करने के लिए कई तरीके प्रदान करता है, जिससे आप उनके मूल्यों को जोड़ सकते हैं या विशिष्ट नियमों के आधार पर किसी एक का चयन कर सकते हैं। इस लेख में, हम ज़िपिंग विकल्पों के लिए तीन प्रमुख कार्यों का पता लगाएंगे: O.zipRight, O.zipLeft, और O.zipWith।

उदाहरण 1: O.zipRight के साथ दूसरा विकल्प लौटाना

अवधारणा

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)
}

स्पष्टीकरण

  • pipe(some1, O.zipRight(some2)): some1 और some2 दोनों ही कुछ हैं, इसलिए फ़ंक्शन दूसरा विकल्प लौटाता है, जो कि Som(2) है।
  • pipe(some1, O.zipRight(none)): चूंकि दूसरा विकल्प कोई नहीं है, फ़ंक्शन कोई नहीं लौटाता है।
  • pipe(none, O.zipRight(some2)): पहला विकल्प कोई नहीं है, इसलिए फ़ंक्शन दूसरे विकल्प की परवाह किए बिना कोई नहीं लौटाता है।

यह फ़ंक्शन विशेष रूप से तब उपयोगी होता है जब आप कोई ऐसा ऑपरेशन करना चाहते हैं जहां परिणाम पूरी तरह से दूसरे विकल्प पर निर्भर हो।

उदाहरण 2: O.zipLeft के साथ पहला विकल्प लौटाना

अवधारणा

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)
}

स्पष्टीकरण

  • pipe(some1, O.zipLeft(some2)): चूंकि दोनों विकल्प कुछ हैं, फ़ंक्शन पहला विकल्प लौटाता है, जो कि कुछ(1) है।
  • pipe(some1, O.zipLeft(none)): दूसरा विकल्प कोई नहीं है, इसलिए फ़ंक्शन कोई नहीं लौटाता है।
  • pipe(none, O.zipLeft(some2)): चूंकि पहला विकल्प कोई नहीं है, फ़ंक्शन कोई नहीं लौटाता है।

यह फ़ंक्शन तब उपयोगी होता है जब परिणाम पहले विकल्प द्वारा निर्धारित किया जाना चाहिए, लेकिन आप अभी भी यह सुनिश्चित करना चाहते हैं कि दूसरा विकल्प वैध है।

उदाहरण 3: O.zipWith का उपयोग करके किसी फ़ंक्शन के साथ विकल्पों का संयोजन

अवधारणा

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)
}

स्पष्टीकरण

  • pipe(some1, O.zipWith(some2, add)): दोनों विकल्प कुछ हैं, इसलिए ऐड फ़ंक्शन लागू होता है, जिसके परिणामस्वरूप कुछ (3) होता है।
  • pipe(some1, O.zipWith(none, add)): चूंकि दूसरा विकल्प कोई नहीं है, फ़ंक्शन कोई नहीं लौटाता है।
  • pipe(none, O.zipWith(some2, add)): पहला विकल्प कोई नहीं है, इसलिए फ़ंक्शन कोई नहीं लौटाता है।

यह फ़ंक्शन आदर्श है जब आपको दो विकल्पों के मानों पर एक ऑपरेशन करने की आवश्यकता होती है, क्योंकि यह सुनिश्चित करता है कि ऑपरेशन निष्पादित होने से पहले दोनों मान मौजूद हैं।

निष्कर्ष

इफ़ेक्ट-टीएस में ज़िपिंग विकल्प वैकल्पिक मानों को सुरक्षित रूप से संयोजित करने का एक शक्तिशाली तरीका है। चाहे आप पहले विकल्प में रुचि रखते हों, दूसरे में, या दोनों के संयोजन में, O.zipRight, O.zipLeft, और O.zipWith फ़ंक्शन आपको इन परिदृश्यों को कुशलतापूर्वक संभालने के लिए आवश्यक उपकरण प्रदान करते हैं। इन पैटर्न को समझकर और लागू करके, आप अधिक मजबूत और पूर्वानुमानित कार्यात्मक कोड लिख सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/almaclaine/zipping-options-in-effect-ts-a-practical-guide-72h?1 यदि कोई उल्लंघन है, तो हटाने के लिए कृपया [email protected] पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3