VBScript - ループの先頭に戻す(Continue)
VBScript - ループの先頭に戻す(Continue)
VBScript にはループを途中で抜ける Exit
ステートメントはあるのだが、ループの先頭に戻る Continue
ステートメントがない。
ループを先頭に戻すには一工夫必要である。
(ちなみに VBA も同様)
次のスクリプトは数値が 1~9 の間ループし、数値が偶数のときだけメッセージを出す。
このスクリプトを、数値が偶数でなければループの先頭に戻るようにしてみたい。
Dim i
For i = 1 To 9
'偶数であれば処理する
If i Mod 2 = 0 Then
MsgBox CStr(i) & "は偶数"
End If
Next
Do...Loop
ステートメントを使うことで、Continue
のような振る舞いができる。
ループの先頭に戻すときは Exit Do
で Do...Loop
を抜ける。
すると Loop While False
の直後にある Next
に制御が移るので、そのまま次の For
ループが始まる。
(ループの先頭に戻るのと実質同じ)
ループが最後まで到達した場合は、Loop While False
としてあるので、そのまま Do...Loop
は終了となる。
あとは Exit Do
したときと同じで、次のループに処理が移る。
Dim i
For i = 0 To 9
Do
'偶数でなければ処理しない
If i Mod 2 <> 0 Then
Exit Do '← ここでループを抜ける(Loop While False の次に移る)
End If
'偶数であれば処理する
MsgBox CStr(i) & "は偶数"
Loop While False
Next
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
ことりと さんにチップを送りました
チップをありがとうございます。
メッセージは管理画面から確認できます。
酒とアクアリウムが最近の楽しみ。
このクリエイターの人気記事
最新記事
TOPVIEWの人気記事
おすすめの記事
この記事にコメントをしてみませんか?