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ステートメントによるループに関して、暗闇に光をもたらすことができたとしたら幸いです。

コメントを残す

メールアドレスが公開されることはありません。