制御構造.ps1
else if
elseif
foreach
foreach ($el in $collection) { ... }
パイプでコレクションを渡すこともできる。
$collection | foreach { ... }
この場合、foreachブロックの中で各要素は特殊変数$_で参照できる。
ループ制御文
- break
- PowerShellのbreakは、同種の外側ループも全部脱出してしまう。二重for文、二重foreach文の内側でbreakすると、外側までbreakしてしまう。。。 これを制御したい場合、ラベルが使える。ラベルは、パイプで渡す構文では使用できないので注意。ラベルを使いたい場合、パイプで渡す構文は foreach (...) { ... }の形に書き直す必要がある。
foreach ($i in $collection1) { ... :InnerForeach foreach ($j in $collection2) { ... if (...) { break InnerForeach } } }