Do-While, Do-until と While ループの違いを理解することは、混乱する可能性があります。 同じものなのでしょうか。
このブログの記事では、その違いを説明します。
Do-Until
Do-Until ループは、ある条件が真になるまで何かを行います。
このループの等号条件に注意してください $number -eq ‘0’.
たとえば、次のコードはキーボードで 0 を押すまで実行されます。
do {$number=Read-Host "Enter number (Press 0 to Quit)"}until ($number -eq '0')
Do-While
Do-While ループは、ある条件が true の間、何かを行います。
以下のコードはキーボードの 0 を押すまで実行されます。言い換えれば、スクリプトは条件が真 (0) にならない限り (while) 実行されます。
do {$number=Read-Host "Enter number"}while ($number -ne 0)
Wile
Wile ループは Do-While ループに類似しています。 しかし、このタイプのループは最初にチェックを実行するのに対し、Do-Whileループは最初のパスの後にチェックを実行する。
最後のパスで$iは9なので、最後のパスは実行されるが、その後は行われない。
while ($i -ne 10) {$i++Write-Host $i}
Do-Until VS. Do-While vs. While
次の例では、一見すると大きな違いはありませんが、違いがあります。
最初のループは、$i が 10 より大きい間だけ (as long as) 実行されるので、1 回だけ実行されます。 これは、そうではありません。
2番目のループは、$iが10より大きくなることはなく、したがってステートメントが真であるため、無限に実行されます。
$i = 10do {Write-Output 'This is executed once.'}while ($i -gt 10)do {Write-Output 'This is done over and over again!'}until ($i -gt 10)
最後に、doステートメントのないwhileループがあります。 ループが始まる前にチェックが行われるため、このループは決して実行されません。
$i = 10while ($i -gt 10) {Write-Output 'This will never be executed.'}
doステートメントによるループに関して、暗闇に光をもたらすことができたとしたら幸いです。