Dart Academy · पाठ

शुद्ध फ़ंक्शन Pipeline बनाना

रूपांतरणों को पूर्वानुमेय ढंग से जोड़ें

पाठ 4, कुल 4 में से13 चरण

शुद्ध फ़ंक्शन Pipeline बनाना, CoddyKit पर Dart Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Dart Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Dart Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

शुद्ध फ़ंक्शन क्या है

शुद्ध फ़ंक्शन समान input के लिए समान output लौटाता है और अपने बाहर कुछ भी नहीं बदलता। यह पूर्वानुमान योग्य होता है और इसका test करना आसान होता है। ✨

int double(int x) => x * 2; // pure

साइड इफ़ेक्ट पहचानना

साइड इफ़ेक्ट वाला फ़ंक्शन बाहरी दुनिया को प्रभावित करता है, जैसे कुछ प्रिंट करना या वैश्विक मान बदलना। ऐसे फ़ंक्शन को समझना कठिन होता है।

var log = [];
void impure(int x) => log.add(x); // side effect

शुद्धता पाइपलाइन में क्यों सहायक है

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

map और where को जोड़ना

पाइपलाइन रूपांतरणों की एक शृंखला है। where से छाँटें, फिर map से रूप बदलें और क्रम को ऊपर से नीचे पढ़ें।

var r = [1, 2, 3, 4]
  .where((n) => n.isEven)
  .map((n) => n * 10);

हर चरण lazy है

where और map lazy iterables लौटाते हैं, इसलिए पूरी शृंखला तभी चलती है जब उसका उपयोग किया जाए। परिणामों को वास्तविक सूची में बदलने के लिए toList जोड़ें।

print(r.toList()); // [20, 40]

fold के साथ समाप्त करना

समेकन करके पाइपलाइन समाप्त करें। यहाँ fold छाँटे और बदले गए मानों का योग एक संख्या में करता है।

var sum = [1, 2, 3, 4]
  .where((n) => n.isEven)
  .fold(0, (a, b) => a + b);

दो फ़ंक्शन संयोजित करना

एक फ़ंक्शन के परिणाम को दूसरे में देकर आप नया फ़ंक्शन बना सकते हैं। यह संयोजन ऐसे पढ़ा जाता है: पहले f करें, फिर g।

int Function(int) compose(
    int Function(int) f, int Function(int) g) =>
  (x) => g(f(x));

संयोजित फ़ंक्शन का उपयोग

छोटे शुद्ध चरणों को एक पुनः उपयोग योग्य फ़ंक्शन में संयोजित करें। परिणाम एक व्यवस्थित, एक-उद्देश्यीय रूपांतरक की तरह व्यवहार करता है।

var f = compose((x) => x + 1, (x) => x * 2);
print(f(3)); // 8

चरण छोटे रखें

छोटे, नामित शुद्ध फ़ंक्शन पाइपलाइन को अपना दस्तावेज़ स्वयं बनाने योग्य बनाते हैं। हर चरण एक काम करता है, इसलिए शृंखला विधि जैसी पढ़ती है।

Inputs को बदलने से बचें

तर्कों को वहीं बदलने के बजाय नए मान लौटाएँ। Inputs को अपरिवर्तित रखना ही पाइपलाइन को भरोसेमंद बनाता है।

List<int> bump(List<int> xs) =>
  xs.map((x) => x + 1).toList();

एक पूरी पाइपलाइन

सबको साथ रखें: छाँटें, रूप बदलें, फिर समेकित करें। एक पढ़ने योग्य पाइपलाइन कच्चे डेटा को अंतिम उत्तर में बदल देती है।

var avgx10 = [2, 4, 6]
  .map((n) => n * 10)
  .reduce((a, b) => a + b);

त्वरित जाँच

पहचानें कि किसी फ़ंक्शन को शुद्ध क्या बनाता है।

पुनरावलोकन

शुद्ध फ़ंक्शन स्पष्ट, lazy पाइपलाइन में संयोजित होते हैं: छाँटें, map करें, फिर समेकित करें। छोटे चरण पूर्वानुमान योग्य ढंग से बड़े परिणाम बनाते हैं। 🎯

शुरुआत निःशुल्क

एआई शिक्षक के साथ Dart सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “शुद्ध फ़ंक्शन Pipeline बनाना” पाठ निःशुल्क है?

हाँ—“शुद्ध फ़ंक्शन Pipeline बनाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Dart Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Dart Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“शुद्ध फ़ंक्शन Pipeline बनाना” में मैं क्या सीखूँगा?

रूपांतरणों को पूर्वानुमेय ढंग से जोड़ें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Dart Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Dart Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Dart Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“शुद्ध फ़ंक्शन Pipeline बनाना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Dart Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Dart Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Higher-Order फ़ंक्शन और Currying
  2. fold, reduce और expand
  3. sync* के साथ Lazy Iterable और Generator
  4. शुद्ध फ़ंक्शन Pipeline बनाना
← Dart Academy पर वापस जाएँ