VBScript लूप्स: Do While, Do Until, While, For Each (उदाहरण)

VBScript में लूप्स का उपयोग क्यों किया जाता है?

लूप का उपयोग कोड के एक ही ब्लॉक को बार-बार निष्पादित करने के लिए किया जाता है। VBScript लूपिंग स्टेटमेंट्स की संख्या बहुत है। VBScript लूपिंग स्टेटमेंट्स में से कुछ हैं Do While, Do Until, For…..Next और इसी तरह। तो, आप कैसे तय करेंगे कि आपकी ज़रूरत के लिए किस लूपिंग स्टेटमेंट का उपयोग करना है?

लूप निष्पादित करते समय, आपको यह पता हो सकता है या नहीं भी हो सकता है कि आपको निर्देशों के एक सेट को कितनी बार निष्पादित करना है। उदाहरण के लिए, आप दो संख्याओं का योग दस बार निकालना चाहते हैं। इस मामले में, आप पहले से ही जानते हैं कि आपको कोड के एक ब्लॉक को 10 बार दोहराना है। मान लीजिए, आप दो संख्याओं का योग तब तक निकालना चाहते हैं जब तक कि कोई विशेष चर सत्य न हो जाए। यहाँ, आपको नहीं पता कि लूप को कितनी बार निष्पादित किया जाना है। इसलिए, निष्पादन की संख्या के बारे में आपको पता है या नहीं, इसके आधार पर आप विभिन्न प्रकार के लूपिंग कथनों का उपयोग कर सकते हैं।

For…Next लूपिंग कथनों का उपयोग तब किया जाता है जब आप कोड के एक ब्लॉक को एक निश्चित संख्या में दोहराना चाहते हैं, अर्थात यदि आप जानते हैं कि आप कोड के ब्लॉक को कितनी बार दोहराना चाहते हैं।

Do While और Do Until लूपिंग कथनों का प्रयोग तब किया जाता है जब आप कोड के किसी ब्लॉक को तब तक दोहराना चाहते हैं जब तक कि कोई शर्त सत्य या असत्य न हो जाए, अर्थात जब आपको यह पता न हो कि आप कोड के ब्लॉक को कितनी बार निष्पादित करना चाहते हैं।

आइये इन लूपिंग कथनों पर एक-एक करके नजर डालें।

लूप करते समय VBScript करो

अगर आपको नहीं पता कि आपको कोड के किसी ब्लॉक को कितनी बार निष्पादित करना है, तो आप Do While लूप का इस्तेमाल करेंगे। उदाहरण के लिए, आप “Welcome” संदेश आउटपुट करना चाहते हैं, जबकि वेरिएबल x का मान 5 से कम है। ऐसे मामले में, Do While लूप का इस्तेमाल किया जाएगा।

<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>

यदि आप कोड निष्पादित करने का प्रयास करेंगे, तो आपको इस प्रकार का आउटपुट मिलेगा:

लूप करते समय VBScript करो

ब्लॉक चार बार निष्पादित होता है (जब x=1,2,3 और 4) और लूप तब समाप्त होता है जब x का मान 5 हो जाता है। यदि आप कथन x=x+1 भूल जाते हैं, तो आपका लूप कभी न खत्म होने वाला बन जाएगा। इस तरह के लूप को कहा जाता है अनंत लूपअनंत लूप आपके सिस्टम को क्रैश भी कर सकते हैं। इसलिए, Do While लूपिंग स्टेटमेंट का उपयोग करते समय, आपको यह सुनिश्चित करना चाहिए कि कुछ ऐसा कोड हो जो लूपिंग कंडीशन को किसी न किसी बिंदु पर सत्य बनाए।

यदि आप शुरुआत में वेरिएबल x को 7 मान देते हैं, तो कोड ब्लॉक एक बार भी निष्पादित नहीं होगा। मान लीजिए कि आप शर्त की परवाह किए बिना कोड के ब्लॉक को कम से कम एक बार निष्पादित करना चाहते हैं, तो आप Do While लूप का उपयोग कर सकते हैं। कोड को इस तरह बदलें:

VBस्क्रिप्ट उदाहरण:

<script type="text/vbscript">
Dim x
x=7
Do 
document.write("Welcome.")
x=x+1
Loop While x<5
</script>

यदि आप इस कोड को निष्पादित करते हैं, तो आपको केवल एक बार "स्वागत" संदेश मिलेगा। यहाँ लूप को एक बार निष्पादित करने के बाद ही कंडीशन की जाँच की जाती है।

VBScript डू अन्टिल लूप

'डू अनटिल' लूप का इस्तेमाल तब भी किया जाता है जब आपको यह नहीं पता होता कि आपको कोड के किसी ब्लॉक को निष्पादित करने के लिए कितने समय की आवश्यकता है। डू अनटिल लूप में कोड का पहला ब्लॉक (डू व्हाइल x<5) नीचे दिए गए कोड के ब्लॉक के बराबर है।

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>

इससे आपको Do While loop में कोड के पहले ब्लॉक जैसा ही आउटपुट मिलेगा। आपको चार बार Welcome message दिखाई देगा। Do …..Loop While की तरह ही हमें Do…Loop Until भी करना है।

यदि आप बीच में Do While या Do Until लूप से बाहर निकलना चाहते हैं, तो आप Exit Do स्टेटमेंट का उपयोग कर सकते हैं। मान लीजिए कि आप उपरोक्त प्रोग्राम में x का मान 3 हो जाने पर ब्लॉक से बाहर निकलना चाहते हैं, तो आपको इस तरह कोड करना होगा:

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
If x=3 Then Exit Do
document.write("Welcome.")
x=x+1
Loop
</script>

यदि आप कोड निष्पादित करते हैं, तो आपका आउटपुट इस तरह दिखाई देगा:

VBScript डू अन्टिल लूप

यहां x का मान 3 हो जाने पर लूप से बाहर निकला जाता है।

लूप करते समय VBScript

While…Wend लूप Do While लूप के समान है, हालांकि इसका उपयोग आम तौर पर नहीं किया जाता है। चूँकि Do While, While…..Wend लूप से ज़्यादा संरचित है, इसलिए प्रोग्रामर आमतौर पर Do While कथनों का उपयोग करते हैं।

<script type="text/vbscript">
Dim x
x = 1   
While x < 5   
document.write("Welcome.")
x=x+1
Wend  
</script>	

आउटपुट होगा

लूप करते समय VBScript

VBScript फॉर-नेक्स्ट लूप

फॉर-नेक्स्ट लूप का उपयोग कोड के ब्लॉक को एक निश्चित संख्या में निष्पादित करने के लिए किया जा सकता है। "VBScript फॉर लूप" काउंटर वैरिएबल और उसके आरंभ और अंत मानों को निर्दिष्ट करता है। नेक्स्ट स्टेटमेंट काउंटर वैरिएबल को एक से बढ़ाता है।

For i = 1 To 5
  document.write("The number is " & i & "
")
Next

यदि आप कोड निष्पादित करेंगे तो आपको इस प्रकार का आउटपुट मिलेगा:

VBScript फॉर-नेक्स्ट लूप

VBScript फॉर-स्टेप-नेक्स्ट लूप

डिफ़ॉल्ट रूप से, काउंटर वैरिएबल को एक से बढ़ाया जाता है। यदि आप काउंटर वैरिएबल को आपके द्वारा निर्दिष्ट मान से बढ़ाना या घटाना चाहते हैं, तो आप For….Step….Next लूप का उपयोग कर सकते हैं। मान लीजिए कि उपरोक्त कोड में, आप काउंटर को 2 से बढ़ाना चाहते हैं, तो अपने कोड को इस तरह संशोधित करें:

For i = 1 To 5 Step 2
  document.write("The number is " & i & "<br />")
Next
</script>

इस कोड का आउटपुट होगा:

VBScript फॉर-स्टेप-नेक्स्ट लूप

यदि आप बीच में किसी For Next या For Step Next लूप से बाहर निकलना चाहते हैं, तो आप स्टेटमेंट के लिए Exit का उपयोग कर सकते हैं। मान लीजिए कि आप उपरोक्त प्रोग्राम में i का मान 3 हो जाने पर ब्लॉक से बाहर निकलना चाहते हैं, तो आपको इस तरह कोड करना होगा:

<script type="text/vbscript">
For i = 1 To 5 Step 2
  If i=3 Then Exit For
  document.write("The number is " & i & "<br />")
Next
</script>

उत्पादन हो जाएगा:

VBScript फॉर-स्टेप-नेक्स्ट लूप

VBScript फॉर-ईच-नेक्स्ट लूप

यदि आप किसी संग्रह में प्रत्येक आइटम के लिए या VBS सारणी के प्रत्येक तत्व के लिए कोड के ब्लॉक को दोहराना चाहते हैं, तो आपको For…Each…Next लूप का उपयोग करना होगा।

<script type="text/vbscript">
Dim students(4)
students(0)="John"
students(1)="Hanah"
students(2)="Sarah"
students(3)="Kevin"
students(4)="Emma"

For Each x In students
  document.write(x & "<br />")
Next
</script>

उपरोक्त निर्दिष्ट कोड का आउटपुट होगा

VBScript फॉर-ईच-नेक्स्ट लूप

कोड उदाहरण

<html>
<head>

<script type="text/vbscript">
Dim name, length
name = InputBox("Enter your name")
length = Len(name)’Gives length of the input string

For i = 1 To length
  txt = Mid(name,i,1)'Returns a specified number of characters from a string, the first parameter is the string, second parameter is the starting position and third parameter is the number of characters to return
  If txt="a" or txt="A" or txt="e" or txt="E" or txt="i" or txt="I" or txt="o" or txt="O" or txt="u" or txt="U" Then 
  counter = counter+1
  End If
Next
document.write("Hi " & name & "!!!Your name contains " & counter & " vowels.")
</script>

</head>
<body>

</body>
</html>

फ़ाइल को loop.html के रूप में अपने पसंदीदा स्थान पर सेव करें। अब फ़ाइल को इंटरनेट एक्सप्लोरर में खोलें और आपको एक बॉक्स मिलेगा जिसमें आपसे अपना नाम दर्ज करने के लिए कहा जाएगा। एक नाम दर्ज करें, जैसे कि एरोन, इस तरह:

VBScript फॉर-ईच-नेक्स्ट लूप

ओके पर क्लिक करें और आपका आउटपुट इस तरह दिखेगा:

VBScript फॉर-ईच-नेक्स्ट लूप

सारांश

  • लूपिंग स्टेटमेंट्स का उपयोग कोड के एक ही ब्लॉक को बार-बार निष्पादित करने के लिए किया जाता है।
  • आप Do-While, Do-Until और While-Wend लूप का उपयोग तब करेंगे जब आपको पहले से पता नहीं होगा कि ब्लॉक को कितनी बार निष्पादित किया जाना है।
  • यदि आप पहले से ही जानते हैं कि आपको कोड ब्लॉक को कितनी बार निष्पादित करना है, तो आप For-Next, For-Next-Step और For-Each-Next लूप का उपयोग करेंगे।