0

PowerShell の基本概念を学ぶために Jerry Lee Ford の本を読んでいて、試験が迫っています。しかし、私はこれで立ち往生しています for ループ

for ($i = 1; $i -le 10; $i++) {
Write-Host $i
}

私が見る方法: $i は 1 に等しく、$i が以下である限り、1 ずつ増加します。したがって、私によると、$i が 10 になった瞬間からまだ一致するため、最終値は 11 になります。 -le 状態。しかし、最終値は10ですか?

私はここで何を見落としていますか?

4

2 に答える 2

3

それを実行してみましょう:

$i = 1$i -le 10ですtrue$i1 を印刷します。2 にインクリメントします

$i = 2$i -le 10ですtrue$i2 を印刷します。3 にインクリメントします

$i = 3$i -le 10ですtrue$i3 を印刷します。4 にインクリメントします

...

$i = 9$i -le 10ですtrue$i9 を印刷します。10 にインクリメントします

$i = 10$i -le 10ですtrue。10 を出力します。11 にインクリメント$iします

$i = 11.$i -le 10ですfalse。やめます!!

つまり、1 から 10 まで表示されます。

しかし、ループの外側の値を$i見ると、実際には 11 であることがわかります。しかし、ループは 10 で印刷を停止しました。

于 2013-01-12T21:39:31.240 に答える
0

あなたのアプリケーションは for ループに到達します。変数 $i を 1 に設定します。条件が満たされているかどうかを調べます。そうであれば、ループ内のコードが実行されています。その後、$i がインクリメントされます。

したがって、$i が 11 になるとすぐに、内部のコードは実行されません。

于 2013-01-12T21:41:02.207 に答える