रेंज इन स्विफ्ट (उदाहरणों के साथ)

इस लेख में, आप स्विफ्ट में रेंज, उसके प्रकार और उपयोग के मामलों के बारे में जानेंगे।

श्रेणी मानों का एक अंतराल है। रेंज का एक सरल उदाहरण 0,1,2,3,4,5,6,7,8,9 है क्योंकि संख्या 0 से 9 तक अनुक्रमिक हैं।

हम नीचे वर्णित दो रेंज ऑपरेटरों का उपयोग करके स्विफ्ट में रेंज बना सकते हैं:

1. बंद रेंज ऑपरेटर (निचला आधार … अपरबाउंड)

इसमें अंतराल के सभी मान शामिल हैं (अपरबाउंड से कम)। इसे (3 डॉट्स) ऑपरेटर का उपयोग करके घोषित किया जाता है ।

जैसे: 1… 3 मान 1,2,3 युक्त श्रेणी को परिभाषित करता है

2. हाफ ओपन रेंज ऑपरेटर (लोअरबाउंड …

इसमें अंतराल के सभी मान शामिल हैं (अपरबाउंड से अपरबाउंड) लेकिन अंतिम (अपरबाउंड) संख्या को छोड़कर। इसे … <ऑपरेटर का उपयोग करके घोषित किया जाता है।

जैसे: 1… <3 मान 1 और 2 वाले श्रेणी को परिभाषित करता है

रेंज के प्रकार

1. बंद सीमा (कम से कम… अपरबाउंड)

बंद रेंज ऑपरेटर का उपयोग करके बनाई गई सीमाओं को बंद सीमा कहा जाता है। इसमें निचले स्तर से ऊपरी तक के सभी मूल्य शामिल हैं।

उदाहरण 1: मुद्रण बंद रेंज मानों के लिए लूप का उपयोग करना

 // 1… 3 Defines a range containing values 1, 2 and 3 for value in 1… 3 ( print(value) ) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 १ २ ३ 

उपरोक्त उदाहरण एक सीमा बनाता है जिसमें 1 से 3 तक की संख्याएं होती हैं ( 1… 3)। हमने यह देखने के लिए फॉर-इन लूप का उपयोग किया कि रेंज में क्या मान हैं। इन-लूप के बारे में अधिक जानने के लिए, स्विफ्ट फॉर-इन लूप पर जाएं।

इन-लूप का उपयोग करते हुए, हम देख सकते हैं कि बंद रेंज में दिए गए रेंज में सभी मान शामिल हैं जिनमें निम्न (1) और ऊपरी (3) बाध्य मान शामिल हैं।

2. आधी खुली सीमा (निचला हिस्सा) …

हाफ ओपन रेंज ऑपरेटर का उपयोग कर बनाई गई रेंज को हाफ ओपन रेंज कहा जाता है। इसमें निचले स्तर से ऊपरी बाउंड तक सभी मान शामिल हैं , लेकिन ऊपरी बाउंड वैल्यू को शामिल नहीं किया गया है।

उदाहरण 2: आधे लूप रेंज मान को मुद्रण के लिए इन-लूप का उपयोग करना

 // 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) ) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 १ २ 

उपरोक्त उदाहरण में, हमने देखा है कि आधे-खुले रेंज कैसे काम करते हैं।

सभी मूल्यों को प्रिंट करने के बजाय, हम स्पष्ट रूप से आधे खुले ऑपरेटर का उपयोग करके केवल 1 और 2 प्रिंट कर सकते हैं, और यह ऊपरी बाध्य मान (अर्थात 3) को बाहर करता है।

3. एक तरफा सीमा

एक तरफा सीमा एक प्रकार की सीमा होती है जो एक दिशा में यथासंभव चलती रहती है। इसे हाफ ओपन रेंज ऑपरेटर और क्लोज्ड रेंज ऑपरेटर दोनों का उपयोग करके बनाया जा सकता है लेकिन ऑपरेटर का केवल एक तरफ मूल्य हो सकता है।

उदाहरण 3: एक तरफा सीमा 2 से कम

 let range =… <2 print(range.contains(-1)) print(range.contains(2)) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 सही गलत 

उपरोक्त उदाहरण आधे-खुले रेंज ऑपरेटर का उपयोग करके एक तरफा सीमा बनाता है जिसमें दो से कम कोई भी संख्या होती है।

हमारे परिणाम को मान्य करने के लिए हमने contains विधि का उपयोग किया है। containsविधि बस रिटर्न trueअगर सीमा के अंदर तत्व निहित है अन्यथा यह रिटर्न false

range.contains(-1)जाँच करता है कि -1 सीमा के अंदर है या नहीं। चूंकि, इसकी एक तरफा सीमा ऊपरी बाउंड 2 के साथ है, और -1 <2 यह सीमा के अंदर है और स्क्रीन में print(range.contains(-1))आउटपुट trueहै।

However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2) returns false.

Example 4:One-sided range starting from 2

 let range = 2… print(range.contains(100)) print(range.contains(1)) 

When you run the program, the output will be:

 true false 

The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.

range.contains(100) checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true in the screen.

However, it has a lower bound value (2), so range.contains(1) returns false .

Things to remember

  • किसी श्रेणी की शुरुआत उसके अंत से कम या उसके बराबर होनी चाहिए। हमारे उदाहरण में (lowerBound… upperBound), निचला बाउंड वैल्यू ऊपरी बाउंड वैल्यू से छोटा होना चाहिए। हालांकि, यह एक नकारात्मक मूल्य हो सकता है।
    उदाहरण:
    3… 1 // घातक त्रुटि: अपरबाउंड <लोअरबाउंड -3… 1 // के साथ रेंज नहीं बना सकते। यह एक वैध रेंज है। लोअरबाउंड / अपरबाउंड में एक नकारात्मक मान हो सकता है लेकिन उपरोक्त कथन को मान्य करना चाहिए।
  • हम फॉर-इन लूप का उपयोग करके रेंज (एक तरफा सीमा को छोड़कर) पर पुनरावृति कर सकते हैं।
  • हम सरणी के तत्वों तक पहुंचने के लिए रेंज ऑपरेटर का भी उपयोग कर सकते हैं।

दिलचस्प लेख...