Pętle VBScript: Do While, Do Until, While, For Each (Przykład)
Dlaczego w VBScript używa się pętli?
Pętle służą do wielokrotnego wykonywania tego samego bloku kodu. Istnieje wiele instrukcji zapętlających VBScript. Niektóre instrukcje pętli VBScript to: Do While, Do Until, For…..Next i tak dalej. Jak więc zdecydujesz, której instrukcji pętli użyć do swoich potrzeb?
Podczas wykonywania pętli możesz lub nie być świadomy liczby wykonań zestawu instrukcji. Na przykład chcesz obliczyć sumę dwóch liczb dziesięć razy. W tym przypadku wiesz już, że chcesz powtórzyć blok kodu 10 razy. Załóżmy, że chcesz obliczyć sumę dwóch liczb, aż konkretna zmienna stanie się prawdziwa. W tym przypadku nie wiesz, ile razy pętla ma zostać wykonana. Tak więc w zależności od tego, czy znasz, czy nie znasz liczby wykonań, możesz użyć różnych typów instrukcji pętli.
For… Instrukcje pętli Next są używane, jeśli chcesz powtórzyć blok kodu skończoną liczbę razy, czyli jeśli znasz liczbę razy, jeśli chcesz powtórzyć blok kodu.
Instrukcje Do While i Do Until są używane, gdy chcesz powtórzyć blok kodu, aż warunek stanie się prawdziwy lub fałszywy, to znaczy, gdy nie wiesz, ile razy chcesz wykonać blok kodu.
Przyjrzyjmy się kolejno tym pętlom.
VBScript działa podczas pętli
Jeśli nie wiesz, ile razy musisz wykonać blok kodu, użyjesz pętli Do While. Na przykład chcesz wyświetlić komunikat „Witamy”, gdy wartość zmiennej x jest mniejsza niż 5. W takim przypadku zostanie użyta pętla Do While.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Jeśli spróbujesz wykonać kod, otrzymasz następujący wynik:
Blok zostanie wykonany cztery razy (kiedy x=1,2,3 i 4), a pętla zakończy się, gdy wartość x osiągnie 5. Jeśli zapomnisz instrukcji x=x+1, twoja pętla stanie się niekończącą się jeden. Ten rodzaj pętli jest znany jako nieskończone pętle. Nieskończone pętle mogą nawet spowodować awarię systemu. Tak więc, używając instrukcji pętli Do While, powinieneś upewnić się, że istnieje kod, który sprawi, że warunek pętli będzie prawdziwy w tym czy innym momencie.
Jeśli na początku przypiszesz zmiennej x wartość 7, to blok kodu nie zostanie wykonany ani razu. Załóżmy, że chcesz wykonać blok kodu przynajmniej raz, niezależnie od warunku, wtedy możesz użyć pętli Do While. Zmień kod w ten sposób:
Przykład VBScriptu:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Jeśli wykonasz ten kod, tylko raz otrzymasz wiadomość „Witamy”. Tutaj warunek jest sprawdzany dopiero po jednokrotnym wykonaniu pętli.
VBScript Wykonaj pętlę aż do
Pętla „Do Until” jest używana także wtedy, gdy nie wiadomo, ile czasu potrzeba na wykonanie bloku kodu. Pierwszy blok kodu w pętli Do Until (Do While x<5) jest odpowiednikiem podanego poniżej bloku kodu.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Otrzymasz taki sam wynik, jak pierwszy blok kodu w pętli Do While. Zobaczysz wiadomość powitalną cztery razy. Podobnie jak w przypadku Wykonaj…..Pętla podczas, musimy również wykonać…Zapętlenie aż.
Jeśli chcesz zakończyć pętlę Do While lub Do Until pomiędzy, możesz użyć instrukcji Exit Do. Załóżmy, że chcesz wyjść z bloku, gdy w powyższym programie wartość x wynosi 3, musisz zakodować w ten sposób:
<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>
Jeśli wykonasz kod, dane wyjściowe będą wyglądać następująco:
Tutaj pętla zostaje zakończona, gdy wartość x osiągnie 3.
VBScript podczas pętli
Pętla While…Wend jest podobna do pętli Do While, choć nie jest powszechnie używana. Ponieważ pętla Do While jest bardziej zorganizowana niż pętla While…..Wend, programiści zwykle używają instrukcji Do While.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
Dane wyjściowe będą
Pętla For-Next w języku VBScript
Pętli For-Next można użyć do wykonania bloku kodu określoną liczbę razy. „Pętla VBScript For” określa zmienną licznika oraz jej wartości początkowe i końcowe. Instrukcja Next zwiększa zmienną licznika o jeden.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Jeśli wykonasz kod, otrzymasz następujący wynik:
Pętla VBScript „Krok-Następny”.
Domyślnie zmienna licznika jest zwiększana o jeden. Jeśli chcesz zwiększyć lub zmniejszyć zmienną licznika o określoną wartość, możesz użyć pętli For….Step….Next. Załóżmy, że w powyższym kodzie chcesz zwiększyć licznik o 2, a następnie zmodyfikuj swój kod w następujący sposób:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
Wynik tego kodu będzie:
Jeśli chcesz zakończyć pętlę For Next lub For Step Next pomiędzy nimi, możesz użyć Exit dla instrukcji. Załóżmy, że chcesz wyjść z bloku, gdy w powyższym programie wartość i wynosi 3, musisz zakodować w ten sposób:
<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>
Wyjście będzie:
VBScript dla każdej następnej pętli
Jeśli chcesz powtórzyć blok kodu dla każdego elementu kolekcji lub każdego elementu tablicy VBS, musisz użyć pętli 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>
Dane wyjściowe powyższego kodu będą
Przykład kodu
<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>
Zapisz plik jako loop.html w preferowanej lokalizacji. Teraz otwórz plik w Internet Explorerze, a pojawi się okno z prośbą o podanie imienia. Wpisz imię, powiedzmy Aaron, w ten sposób:
Kliknij OK, a dane wyjściowe będą wyglądać następująco:
Podsumowanie
- Instrukcje pętlowe służą do wielokrotnego wykonywania tego samego bloku kodu.
- Pętli Do-While, Do-Until i While-Wend będziesz używać, gdy nie wiesz z góry, ile razy blok ma zostać wykonany.
- Pętli For-Next, For-Next-Step i For-Each-Next użyjesz, jeśli już wiesz, ile razy musisz wykonać blok kodu.