前回紹介した while 文は 繰り返し処理が始まる前に条件判断がありますが、do while 文は、最後に繰り返し条件の判断を行うという特徴があります。
今回は、do while 文の使用方法について説明します。
do while の構文
do while 文は、最低でも1回は処理を実行し、最後の条件式で繰り返し処理を実行するかどうかを判断します。
以下に、PowerShell Core における do while 文の書式を示します。
do { ...繰り返し処理 } while (条件式)
条件式で使用する演算子
do while 文の条件式で使用できる演算子は、if 文 や while 文と同様です。
以下に、使用可能な演算子を示します。
PowerShell | C# | 説明 |
---|---|---|
-eq | == | 等しい |
-ne | != | 等しくない |
-gt | > | より大きい |
-ge | >= | 以上 |
-lt | < | より小さい |
-le | <= | 以下 |
-like | なし | ワイルドカードと等しい |
-notlike | なし | ワイルドカードと等しくない |
-match | なし | 正規表現と等しい |
-notmatch | なし | 正規表現と等しくない |
-contains | なし | 指定した値が含まれる |
-notcontains | なし | 指定した値が含まれない |
do while 文の使用例
以下に do while 文の使用例を示します。
この例では、はじめに do 以降の処理を実行し、最後に 変数 $x が 10以下かどうかを判断して繰り返し処理を実行します。
$x = 1 do { Write-Host $x $x++ } while ( $x -le 10)
break キーワードによる処理の中断
break キーワードを使用すると、do while 文を中断して、繰り返し処理の外側へ抜けることができます。
以下は、変数 $x が 10以下の間繰り返し処理を行う do while 文ですが、変数 $xが 5 と等しい時に break で繰り返し処理を中断します。
結果として1〜4までしか出力されません。
$x = 1 do { if ( $x -eq 5 ) { break } Write-Host $x $x++ } while ( $x -le 10)
continue による処理の継続
continue キーワードを使用すると、do while 文を中断して、繰り返し処理の先頭へ戻って処理を継続します。
以下は、変数 $x が 10以下の間繰り返し処理を行う do while 文ですが、ループ変数 $x が 5 と等しい時に繰り返し処理の先頭に戻って処理を継続します。
結果として 5 は出力されません。
$x = 0 do { $x++ if ( $x -eq 5 ) { continue } Write-Host $x } while ( $x -le 10)
まとめ
do while 文も for 文や while 文と同様によく使用する繰り返し処理の1つです。
これを機会にマスターしましょう。
コメント