我正在阅读 Jerry Lee Ford 的书来学习 powershell 的基本概念,并且我即将参加考试。然而,我被困在这个 for 循环中
for ($i = 1; $i -le 10; $i++) {
Write-Host $i
}
我看到它的方式:$i 等于 1,只要 $i 小于或等于,它就会增加 1。所以根据我的说法,最终值将是 11,因为当 $i 变成 10 时它仍然匹配-le 条件。但是最终值是10?
我在这里俯瞰什么?
我正在阅读 Jerry Lee Ford 的书来学习 powershell 的基本概念,并且我即将参加考试。然而,我被困在这个 for 循环中
for ($i = 1; $i -le 10; $i++) {
Write-Host $i
}
我看到它的方式:$i 等于 1,只要 $i 小于或等于,它就会增加 1。所以根据我的说法,最终值将是 11,因为当 $i 变成 10 时它仍然匹配-le 条件。但是最终值是10?
我在这里俯瞰什么?
让我们来看看它:
$i = 1.$i -le 10
是true
. 打印 1.$i
增加到 2
$i = 2.$i -le 10
是true
. 打印 2.$i
增加到 3
$i = 3.$i -le 10
是true
. 打印 3.$i
增加到 4
...
$i = 9.$i -le 10
是true
. 打印 9.$i
增加到 10
$i = 10.$i -le 10
是true
. 打印 10.$i
增加到 11
$i = 11.$i -le 10
是false
. 我们停下来!!
所以你看到从 1 到 10。
但如果你$i
在循环外看到 的值,你会发现它确实是 11。但是循环在 10 处停止打印。
您的应用程序到达 for 循环。它将变量 $i 设置为 1。现在它查看是否满足条件。如果是,则循环内的代码正在执行。之后 $i 递增。
所以只要 $i 等于 11,里面的代码就不会被执行。