Swift Academy · पाठ

शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन

ऐसे फ़ंक्शन लिखें जो समान इनपुट के लिए हमेशा समान आउटपुट लौटाएँ।

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

शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत

शुद्ध फ़ंक्शन एक ही इनपुट के लिए हमेशा एक ही आउटपुट देते हैं और कोई पार्श्व प्रभाव उत्पन्न नहीं करते। वे स्विफ्ट में फंक्शनल प्रोग्रामिंग के आधारभूत घटक हैं।

शुद्ध फ़ंक्शन की परिभाषा

फ़ंक्शन शुद्ध तब होता है जब: • एक ही इनपुट हमेशा एक ही आउटपुट देता है • कोई दिखाई देने वाला पार्श्व प्रभाव नहीं होता (कोई बदलाव, इनपुट/आउटपुट या वैश्विक स्थिति नहीं) ```swift func add(_ a: Int, _ b: Int) -> Int { a + b } // pure ```

अशुद्ध फ़ंक्शन का उदाहरण

```swift var total = 0 func addToTotal(_ n: Int) { total += n } // impure — mutates global ``` अलग-अलग संदर्भों में `5` के साथ इसे दो बार बुलाने पर अलग परिणाम मिलते हैं।

संदर्भीय पारदर्शिता

शुद्ध फ़ंक्शन कॉल को प्रोग्राम के व्यवहार में बदलाव किए बिना उसके परिणाम से बदला जा सकता है: ```swift let result = add(2, 3) // same as writing 5 ```

शुद्ध फ़ंक्शन के लाभ

• परीक्षण करना आसान — तैयारी और सफाई की आवश्यकता नहीं • समानांतर चलाना सुरक्षित — साझा स्थिति नहीं • संयोज्य — पार्श्व प्रभावों की चिंता किए बिना श्रृंखलाबद्ध करें • कैश किया जा सकता है — मेमोइज़ेशन सुरक्षित है

स्विफ्ट के मान प्रकार शुद्धता सक्षम करते हैं

क्योंकि संरचना की विधियों को प्रतिलिपियाँ मिलती हैं, वे स्वाभाविक रूप से शुद्धता की ओर जाती हैं: ```swift struct Vector { var x, y: Double } func scaled(_ v: Vector, by f: Double) -> Vector { Vector(x:v.x*f, y:v.y*f) } ```

पार्श्व प्रभावों को अलग रखना

अपने सिस्टम की सीमा पर पार्श्व प्रभावों को भेजें: ```swift // Pure core logic: func processOrders(_ orders: [Order]) -> Invoice { ... } // Impure at the edge: func run() { let inv = processOrders(load()); save(inv) } ```

शुद्ध फ़ंक्शन और परीक्षण

```swift func test() { let result = add(2, 3) assert(result == 5) // no mocks needed! } ``` शुद्ध फ़ंक्शनों को नकली ऑब्जेक्ट की ज़रूरत नहीं होती — बस बुलाकर अभिकथन करें।

वास्तविक दुनिया का उदाहरण

```swift func discountedPrice(base: Double, discount: Double) -> Double { base * (1 - discount) } let final = discountedPrice(base: 100, discount: 0.2) // 80.0 ```

शुद्ध फ़ंक्शनों की रचना

```swift func double(_ n: Int) -> Int { n * 2 } func addOne(_ n: Int) -> Int { n + 1 } let transform: (Int) -> Int = { addOne(double($0)) } print(transform(5)) // 11 ```

त्वरित जाँच

कौन-सा गुण फ़ंक्शन को नकली ऑब्जेक्ट के बिना आसानी से परीक्षण योग्य बनाता है?

पुनरावलोकन

मुख्य बातें: • शुद्ध: एक ही इनपुट → एक ही आउटपुट, कोई पार्श्व प्रभाव नहीं • संदर्भीय पारदर्शिता प्रतिस्थापन संभव बनाती है • पार्श्व प्रभावों को सिस्टम की सीमाओं तक सीमित रखें • शुद्ध फ़ंक्शन आसानी से परीक्षण योग्य और समानांतर चलाने योग्य होते हैं अगला विषय: उच्च-क्रम फ़ंक्शन
शुरुआत निःशुल्क

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

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

पाठ्यक्रम
122
पाठ
409

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

क्या “शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन” पाठ निःशुल्क है?

हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन” में मैं क्या सीखूँगा?

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

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

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

“शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. शुद्ध फ़ंक्शन और साइड-इफ़ेक्ट-रहित डिज़ाइन
  2. उच्च-क्रम फ़ंक्शन: map, flatMap, compactMap
  3. फ़ंक्शन संयोजन और डेटा पाइपलाइन
  4. दक्षता के लिए लेज़ी अनुक्रम
← Swift Academy पर वापस जाएँ