0

我正在阅读 Jerry Lee Ford 的书来学习 powershell 的基本概念,并且我即将参加考试。然而,我被困在这个 for 循环中

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

我看到它的方式:$i 等于 1,只要 $i 小于或等于,它就会增加 1。所以根据我的说法,最终值将是 11,因为当 $i 变成 10 时它仍然匹配-le 条件。但是最终值是10?

我在这里俯瞰什么?

4

2 回答 2

3

让我们来看看它:

$i = 1.$i -le 10true. 打印 1.$i增加到 2

$i = 2.$i -le 10true. 打印 2.$i增加到 3

$i = 3.$i -le 10true. 打印 3.$i增加到 4

...

$i = 9.$i -le 10true. 打印 9.$i增加到 10

$i = 10.$i -le 10true. 打印 10.$i增加到 11

$i = 11.$i -le 10false. 我们停下来!!

所以你看到从 1 到 10。

但如果你$i在循环外看到 的值,你会发现它确实是 11。但是循环在 10 处停止打印。

于 2013-01-12T21:39:31.240 回答
0

您的应用程序到达 for 循环。它将变量 $i 设置为 1。现在它查看是否满足条件。如果是,则循环内的代码正在执行。之后 $i 递增。

所以只要 $i 等于 11,里面的代码就不会被执行。

于 2013-01-12T21:41:02.207 回答