Home > Windows にまつわる e.t.c.

PowerShell で多重ループを抜ける


多重ループを一気に抜ける書き方です。
(あまり書かないので、うっかり忘れてしまう備忘録)

PowerShell で多重ループの内側から一気に抜ける場合は、ラベルを書いて制御します

こんな感じです。

:ラベル名 ループ制御{
    ループ制御{
        ループを抜ける条件{ break ラベル名 }
    }
}

 

日本語で書くとなんのこっちゃなので、実際のコード例です。

:Outloop for($i = 0; $i -lt 10; $i++ ){
    for($j = 0; $j -lt 10; $j++){
        echo "i = $i"
        echo "j = $j"
        if( $j -eq 8){
            break OutLoop
        }
    }
}

echo "End of loop"

 

このコードを実行すると、内側ループの $j が 8 と等しくなった時に、ラベルを付けたループまで一気に抜けます。

i = 0
j = 0
i = 0
j = 1
i = 0
j = 2
i = 0
j = 3
i = 0
j = 4
i = 0
j = 5
i = 0
j = 6
i = 0
j = 7
i = 0
j = 8
End of loop

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.