VBScript ループ: Do While、Do until、while、For Each (例)
⚡ スマートサマリー
VBScript ループでは、Do While、Do Until、While Wend、For Next、For Step、For Each といった構文を使用してアクションを繰り返す方法を、構文、終了条件、例を交えて解説します。
VBScript でループが使用されるのはなぜですか?
ループは、同じコードブロックを繰り返し実行するために使用されます。VBScriptには多くのループがあります。ping ステートメント。VBScript のいくつかのルックping ステートメントは、Do While、Do Until、For…Nextなどです。では、どのルックを選択するかをどのように決定しますか?ping あなたのニーズに合ったステートメントはどれですか?
ループを実行する際、一連の命令を何回実行したいかを知っている場合と知らない場合があります。たとえば、2つの数値の合計を10回計算したいとします。この場合、コードブロックを10回繰り返す必要があることは既にわかっています。一方、特定の変数が真になるまで2つの数値の合計を計算したいとします。この場合、ループを何回実行する必要があるかはわかりません。したがって、実行回数がわかっているかわからないかに応じて、さまざまな種類のループを使用できます。ping ステートメント。
次のトイレへ…ping ステートメントは、コードブロックを有限回繰り返したい場合、つまりコードブロックを繰り返したい回数がわかっている場合に使用されます。
Do While と Do Until looping ステートメントは、条件が真または偽になるまでコードブロックを繰り返したい場合、つまりコードブロックを何回実行したいかがわからない場合に使用されます。
これらのトイレを見てみましょうping 発言を一つずつ。
VBScript Do While ループ
コードのブロックを実行する必要がある回数がわからない場合は、Do While ループを使用することになります。 たとえば、変数 x の値が 5 未満の間、「ようこそ」というメッセージを出力したい場合、Do While ループが使用されます。
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
コードを実行してみると、次のような出力が得られます。
ブロックは 1,2,3 回実行され (x=4、5、1、XNUMX の場合)、x の値が XNUMX になったときにループが終了します。ステートメント x=x+XNUMX を忘れると、ループは終わりのないものになります。 XNUMXつ。 この種のループは次のように呼ばれます。 無限ループ無限ループはシステムをクラッシュさせる可能性さえあります。そのため、Do Whileループを使用する際は、ping ステートメントでは、ルックを作成するコードがあることを確認する必要がありますping ある時点で条件が真となる。
最初に変数 x に値 7 を代入すると、コード ブロックは一度も実行されません。 条件に関係なく、コードのブロックを少なくとも XNUMX 回実行したい場合は、Do While ループを使用できます。 コードを次のように変更します。
VBScript の例:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
このコードを実行すると、「ようこそ」というメッセージが XNUMX 回だけ表示されます。 ここでは、ループを XNUMX 回実行した後でのみ条件がチェックされます。
VBScript の Do until ループ
「Do until」ループは、コードのブロックを実行する必要がある回数がわからない場合にも使用されます。 Do until ループ (Do While x<5) の最初のコード ブロックは、以下のコード ブロックと同等です。
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
これにより、Do While ループのコードの最初のブロックと同じ出力が得られます。 ウェルカム メッセージが XNUMX 回表示されます。 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>
コードを実行すると、出力は次のようになります。
ここでは、x の値が 3 になるとループが終了します。
VBScriptのWhileループ
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 の For-Next ループ
For-Next ループを使用すると、コードのブロックを特定の回数実行できます。 「VBScript For ループ」は、カウンター変数とその開始値と終了値を指定します。 Next ステートメントは、カウンター変数を XNUMX つ増やします。
For i = 1 To 5 document.write("The number is " & i & " ") Next
コードを実行すると、次のような出力が得られます。
VBScript の For-Step-Next ループ
デフォルトでは、カウンター変数は 2 ずつ増加します。 指定した値によってカウンター変数を増減したい場合は、For….Step….Next ループを使用できます。 上記のコードで、カウンターを XNUMX ずつインクリメントし、コードを次のように変更するとします。
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
このコードの出力は次のようになります。
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 の For-Each-Next ループ
コレクション内の項目ごと、または 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>
上記で指定したコードの出力は次のようになります。
Code 例:
<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 として任意の場所に保存します。次に、Internet Explorer でファイルを開くと、名前を入力するボックスが表示されます。次のように、たとえば Aaron という名前を入力します。
「OK」をクリックすると、出力は次のようになります。





