Swift Academy · पाठ

First-class values के रूप में functions

functions को variables में संग्रहीत करें, arguments के रूप में भेजें और functions से लौटाएँ।

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

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

स्वागत है

स्विफ्ट में फ़ंक्शन प्रथम-श्रेणी इकाइयाँ हैं — आप उन्हें चरों में रख सकते हैं, तर्कों के रूप में दे सकते हैं, अन्य फ़ंक्शनों से लौटा सकते हैं और दूसरे फ़ंक्शनों के भीतर परिभाषित कर सकते हैं।

फ़ंक्शन के प्रकार

हर फ़ंक्शन का एक प्रकार होता है, जो उसके पैरामीटर और लौटाए जाने वाले मान के प्रकारों से निर्धारित होता है: ```swift func add(_ a: Int, _ b: Int) -> Int { a + b } let operation: (Int, Int) -> Int = add print(operation(3, 4)) // 7 ``` `add` का प्रकार `(Int, Int) -> Int` है।

फ़ंक्शन को तर्क के रूप में देना

```swift func apply(_ f: (Int) -> Int, to value: Int) -> Int { f(value) } func double(_ n: Int) -> Int { n * 2 } print(apply(double, to: 5)) // 10 ``` यह `map` और `filter` जैसे उच्च-क्रम वाले फ़ंक्शनों का आधार है।

फ़ंक्शन लौटाना

```swift func multiplier(by factor: Int) -> (Int) -> Int { return { value in value * factor } } let triple = multiplier(by: 3) print(triple(7)) // 21 ``` फ़ंक्शन लौटाने से एक *क्लोज़र* बनता है जो `factor` को अपने भीतर सुरक्षित रखता है।

फ़ंक्शन के भीतर फ़ंक्शन

फ़ंक्शन को दूसरे फ़ंक्शनों के अंदर परिभाषित किया जा सकता है: ```swift func chooseStep(goForward: Bool) -> (Int) -> Int { func forward(_ n: Int) -> Int { n + 1 } func backward(_ n: Int) -> Int { n - 1 } return goForward ? forward : backward } let step = chooseStep(goForward: true) print(step(3)) // 4 ```

संक्षिप्त रूप में क्लोज़र

अनाम क्लोज़र लिखावट किसी भी फ़ंक्शन प्रकार की जगह इस्तेमाल की जा सकती है: ```swift let square: (Int) -> Int = { $0 * $0 } print(square(6)) // 36 let doubled = [1, 2, 3].map { $0 * 2 } // [2, 4, 6] ``` संक्षिप्त क्लोज़र रूप में `$0` पहले तर्क को दर्शाता है।

संग्रहों में फ़ंक्शन रखना

```swift let operations: [(Int, Int) -> Int] = [ { $0 + $1 }, { $0 - $1 }, { $0 * $1 } ] for op in operations { print(op(10, 3)) } // 13, 7, 30 ```

अंतिम क्लोज़र की वाक्य-विन्यास

जब अंतिम तर्क एक फ़ंक्शन हो, तो आप उसे कोष्ठकों के बाहर लिख सकते हैं: ```swift func withLogging(_ label: String, action: () -> Void) { print("Start: \(label)") action() print("End: \(label)") } withLogging("fetch") { fetchData() } ```

फ़ंक्शन की पहचान और समानता

स्विफ्ट में `==` से दो फ़ंक्शन मानों की तुलना नहीं कर सकते — फ़ंक्शन समानता-जाँच योग्य नहीं होते: ```swift // let same = add == add ❌ ``` यदि तुलना आवश्यक हो, तो फ़ंक्शन को ऐसी संरचना या वर्ग में लपेटें जो समानता-जाँच प्रोटोकॉल के अनुरूप हो।

करीकरण का तरीका

आंशिक रूप से लागू फ़ंक्शन लौटाकर करीकरण का अनुकरण करें: ```swift func add(_ a: Int) -> (Int) -> Int { { b in a + b } } let add5 = add(5) print(add5(3)) // 8 print(add5(10)) // 15 ``` सामान्य फ़ंक्शनों से विशिष्ट फ़ंक्शन बनाने के लिए यह उपयोगी है।

त्वरित जाँच

दो `Int` लेने और एक `Int` लौटाने वाले फ़ंक्शन का प्रकार क्या है?

पुनरावलोकन

मुख्य बातें: • फ़ंक्शन के प्रकार `(ParamTypes) -> ReturnType` जैसे होते हैं • उन्हें चरों में रखें, तर्कों के रूप में दें और फ़ंक्शनों से लौटाएँ • क्लोज़र (`{ }`) अनाम फ़ंक्शन मान होते हैं • अंतिम क्लोज़र की वाक्य-विन्यास से फ़ंक्शन कॉल का स्थान अधिक साफ़ दिखता है • फ़ंक्शन से फ़ंक्शन लौटाने पर ऐसा क्लोज़र बनता है जो चरों को अपने साथ रखता है अगला पाठ: वैकल्पिक मानों को श्रृंखलाबद्ध करना और खोलना।
शुरुआत निःशुल्क

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

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

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

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

क्या “First-class values के रूप में functions” पाठ निःशुल्क है?

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

“First-class values के रूप में functions” में मैं क्या सीखूँगा?

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

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

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

“First-class values के रूप में functions” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Argument labels और parameter names
  2. Default और variadic parameters
  3. In-out parameters और multiple returns
  4. First-class values के रूप में functions
← Swift Academy पर वापस जाएँ