इस लेख में, आप स्विफ्ट प्रोग्रामिंग में लूप करते समय और दोहराना … सीखेंगे।
पिछले लेख में, हमने निश्चित समय के लिए कार्यों के एक सेट को चलाने के लिए फॉर-लूप के बारे में सीखा। इस अनुच्छेद में, आप उपयोग करने के लिए सीखना होगा while
और repeat… while
के लिए में पाश यात्रा की संख्या अज्ञात है जब एक विकल्प के रूप।
जब तक एक शर्त नहीं बन जाती तब तक लूप स्टेटमेंट का एक सेट निष्पादित करता है false
। इस प्रकार के छोरों का सबसे अच्छा उपयोग किया जाता है जब पहली पुनरावृत्ति शुरू होने से पहले पुनरावृत्तियों की संख्या ज्ञात नहीं होती है। स्विफ्ट दो प्रकार के छोरों को प्रदान करता है:
1. लूप करते समय स्विफ्ट
यह लूप लूप के माध्यम से प्रत्येक पास की शुरुआत में अपनी स्थिति का मूल्यांकन करता है।
लूप करते समय का सिंटैक्स है:
while (TestExpression) ( // statements )
कैसे काम करता है लूप?
TestExpression
एक बूलियन अभिव्यक्ति है।
यदि TestExpression
इसका मूल्यांकन किया जाता है true
,
- लूप के अंदर बयान निष्पादित किए जाते हैं।
- और
TestExpression
फिर से मूल्यांकन किया जाता है।
TestExpression
मूल्यांकन होने तक यह प्रक्रिया चलती रहती है false
। यदि TestExpression
मूल्यांकन करता है false
, जबकि लूप समाप्त हो जाता है।
लूप का फ्लोचार्ट
उदाहरण 1: जबकि लूप
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) print("outside of while loop")
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
आपने लेवल पास कर लिया है। आपने लेवल 1 पास कर लिया है। आपने लेवल २ पास कर लिया है। आपने लेवल ३ पास कर लिया है। आपने लेवल ४ पास कर लिया है। आपने ५ लेवल पास किया है जबकि लूप से बाहर
उपरोक्त कार्यक्रम में, चर currentLevel और finalLevel को 0 से प्रारंभ किया जाता है और निरंतर gameCompleted को प्रारंभ किया जाता है true
।
लूप के प्रत्येक पुनरावृत्ति में, यह स्थिति की जांच करता है currentLevel <= finalLevel
। यदि स्थिति लौटती है true
, तो लूप निष्पादित होने पर अंदर के बयान अन्यथा लूप समाप्त हो जाते हैं।
Iteration | दशा (करंट लिवेल <= फाइनल लेल) | आउटपुट |
---|---|---|
1 है | 0 <= 5 (सच) | आप स्तर 0 पास कर चुके हैं |
२ | 1 <= 5 (सच) | आपने स्तर 1 पास कर लिया है |
३ | 2 <= 5 (सच) | आपने लेवल 2 पास कर लिया है |
४ | 3 <= 5 (सच) | आप स्तर 3 पास कर चुके हैं |
५ | 4 <= 5 (सच) | आपने स्तर 4 पास कर लिया है |
६ | 5 <= 5 (सच) | आप स्तर 5 पास कर चुके हैं |
। | 6 <= 5 (झूठा) | लूप के बाहर |
2. लूप करते समय दोहराएं
यह लूप लूप के माध्यम से प्रत्येक पास के अंत में अपनी स्थिति का मूल्यांकन करता है। दोहराएं … जबकि लूप एक प्रमुख अंतर के साथ लूप के समान है। दोहराने का शरीर … जबकि लूप को एक बार परीक्षण अभिव्यक्ति से पहले निष्पादित किया जाता है।
लूप की पुनरावृत्ति का सिंटैक्स है …
repeat ( // statements… ) while (testExpression)
कैसे दोहरा … जबकि पाश काम करता है?
दोहराने का शरीर … जबकि लूप को एक बार निष्पादित किया जाता है (परीक्षण अभिव्यक्ति की जांच करने से पहले)। तभी, TestExpression की जाँच की जाती है।
यदि testExpression का मूल्यांकन सही है, तो लूप के शरीर के अंदर के स्टेटमेंट निष्पादित किए जाते हैं, और testExpression का फिर से मूल्यांकन किया जाता है। यह प्रक्रिया तब तक चलती है जब तक testExpression का मूल्यांकन नहीं किया जाता है false
।
जब TestExpression है false
, तो दोहराएं … जबकि लूप समाप्त हो जाता है।
लूप के फ़्लोचार्ट… जबकि लूप
उदाहरण 2: लूप को दोहराते समय
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) while (currentLevel <= finalLevel) print("outside of repeat while loop")
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
आपने स्तर 0 पास कर लिया है। आपने स्तर 1 पास कर लिया है। आपने स्तर 2 पास कर लिया है। आपने स्तर 3 पास कर लिया है। आपने स्तर 4 पास कर लिया है। आप स्तर 5 से बाहर हो गए हैं जबकि लूप
उपरोक्त उदाहरण में, पहली बार लूप के अंदर के बयान निष्पादित होते हैं। और अगले पुनरावृत्ति के लिए, यह स्थिति की जांच करता है currentLevel <= finalLevel
।
यदि स्थिति लौटती है true
, तो लूप निष्पादित होने पर अंदर के बयान अन्यथा लूप समाप्त हो जाते हैं।
Iteration | दशा (करंट लिवेल <= फाइनल लेल) | आउटपुट |
---|---|---|
1 है | 0 <= 5 (सच) | आप स्तर 0 पास कर चुके हैं |
२ | 1 <= 5 (सच) | आपने स्तर 1 पास कर लिया है |
३ | 2 <= 5 (सच) | आपने लेवल 2 पास कर लिया है |
४ | 3 <= 5 (सच) | आप स्तर 3 पास कर चुके हैं |
५ | 4 <= 5 (सच) | आपने स्तर 4 पास कर लिया है |
६ | 5 <= 5 (सच) | आप स्तर 5 पास कर चुके हैं |
। | 6 <= 5 (झूठा) | लूप करते समय रिपीट के बाहर |
यद्यपि दोनों while
और repeat while
लूप में एक ही निष्पादन चरण होता है, लूप की स्थिति currentLevel <= finalLevel
को repeat while
इसके अंदर के कथनों को निष्पादित करने के बाद ही निष्पादित किया जाता है।
लेकिन while
, इसके अंदर कथनों को निष्पादित करने से पहले स्थिति की शुरुआत में जाँच की जाती है।
3. अनंत जबकि लूप
परीक्षण अभिव्यक्ति कभी नहीं करने के लिए मूल्यांकन करता है तो false
, के शरीर while
और repeat… while
पाश समय की अनंत संख्या निष्पादित किया जाता है।
उदाहरण 3: लूप के दौरान अनंत
while (true) ( print("Hello, World!") )
repeat ( print("Hello, World!") ) while (true)
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
नमस्ते दुनिया! नमस्ते दुनिया!…
जब आप प्रोग्राम चलाते हैं, तो दोनों लूप print("Hello, World!")
अनंत समय के लिए स्टेटमेंट निष्पादित करते हैं। तो, आप निरंतर आउटपुट देख सकते हैं हैलो, वर्ल्ड! कंसोल में।