O.andThen फ़ंक्शन आपको दो विकल्पों के अनुक्रम को निष्पादित करने की अनुमति देता है, जहां परिणाम केवल दूसरे विकल्प द्वारा निर्धारित किया जाता है। यह तब उपयोगी होता है जब पहला विकल्प किसी उद्देश्य को पूरा करता है, लेकिन बाद के संचालन में इसके मूल्य की आवश्यकता नहीं होती है।
function sequencing_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.andThen(some2))); // Output: Some(2) (ignores 1 and returns 2) console.log(pipe(none, O.andThen(some2))); // Output: None (since the first Option is None) }
यह अनुक्रमण ऑपरेशन विशेष रूप से तब उपयोगी होता है जब आप संचालन को श्रृंखलाबद्ध करना चाहते हैं लेकिन केवल दूसरे ऑपरेशन के परिणाम में रुचि रखते हैं।
O.flatten फ़ंक्शन को नेस्टिंग के एक स्तर को हटाकर नेस्टेड विकल्पों को संभालने के लिए डिज़ाइन किया गया है। यह तब उपयोगी होता है जब आपके ऑपरेशन के परिणामस्वरूप विकल्प का विकल्प होता है, और आपको इसे एक विकल्प में सरल बनाने की आवश्यकता होती है।
function sequencing_ex02() { const nestedSome = O.some(O.some(1)); // Create a nested Option containing the value 1 const nestedNone = O.some(O.none()); // Create a nested Option representing no value const none = O.none(); // Create an Option representing no value console.log(pipe(nestedSome, O.flatten)); // Output: Some(1) (flattens the nested Option) console.log(pipe(nestedNone, O.flatten)); // Output: None (flattens to None) console.log(pipe(none, O.flatten)); // Output: None (since the outer Option is None) }
फ़्लैटनिंग उन फ़ंक्शंस से निपटने के लिए आवश्यक है जो नेस्टेड विकल्प लौटा सकते हैं, जिससे आप परिणाम को एकल विकल्प मान में सुव्यवस्थित कर सकते हैं।
O.composeK फ़ंक्शन आपको दो फ़ंक्शन बनाने की अनुमति देता है जो एक विकल्प लौटाते हैं, एक पाइपलाइन बनाते हैं जहां पहले फ़ंक्शन का आउटपुट दूसरे में फीड किया जाता है। यह विशेष रूप से उन चेनिंग परिचालनों के लिए उपयोगी है जो विफल हो सकते हैं और परिणाम कुछ भी नहीं हो सकता है।
function sequencing_ex03() { const parseNumber = (s: string): O.Option=> { const n = parseInt(s, 10); return isNaN(n) ? O.none() : O.some(n); }; const doubleIfPositive = (n: number): O.Option => n > 0 ? O.some(n * 2) : O.none(); const parseAndDouble = pipe(parseNumber, O.composeK(doubleIfPositive)); console.log(parseAndDouble('42')); // Output: Some(84) (parses and doubles the number) console.log(parseAndDouble('-1')); // Output: None (since -1 is not positive) console.log(parseAndDouble('abc')); // Output: None (since 'abc' is not a number) }
विकल्प-रिटर्निंग फ़ंक्शंस का संयोजन आपको उन मामलों को सुरक्षित रूप से संभालने के दौरान संचालन की जटिल श्रृंखला बनाने की अनुमति देता है जहां श्रृंखला में कोई भी चरण विफल हो सकता है।
ये उदाहरण संचालन के अनुक्रमों को संभालने के लिए इफेक्ट-टीएस में विकल्प प्रकार की बहुमुखी प्रतिभा और शक्ति को प्रदर्शित करते हैं। चाहे आप O.andThen के साथ मानों को अनदेखा कर रहे हों, O.flatten के साथ नेस्टेड विकल्पों को समतल कर रहे हों, या O.composeK के साथ संचालन की रचना कर रहे हों, ये पैटर्न आपको कार्यात्मक प्रोग्रामिंग संदर्भ में वैकल्पिक मानों को अधिक प्रभावी ढंग से प्रबंधित करने में सक्षम बनाते हैं। इन तकनीकों का लाभ उठाकर, आप अधिक मजबूत और संक्षिप्त कोड लिख सकते हैं, यह सुनिश्चित करते हुए कि ऑपरेशन स्पष्ट और पठनीय तर्क बनाए रखते हुए मूल्यों की अनुपस्थिति को खूबसूरती से संभालते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3