【发布时间】:2021-02-03 16:24:15
【问题描述】:
来自 Python 的 Powershell 脚本的新手。我只是不确定为什么 '$i += 1' 没有在第一个 'write-host("i: ")' 之前覆盖 $i :
$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123
write-host("using for loop")
for ($i = 0; $i -le ($myList.length - 1); $i += 1){
write-host("i: ")
$i
write-host("myList[i]: ")
$myList[$i]
}
我不明白分号在做什么以及它与下面的代码块有何关系。代码按我的意愿工作。但我将其读作“如果 i 小于或等于 9,则将 i 初始化为 0-将 i 增加 1”。但如果是这种情况,那么 i 将在第一次执行 write-host 之前设置为 1。相反,它传递 0,然后递增 $i。
【问题讨论】:
-
你告诉 $i 从 0 开始(第一个循环)并在每个循环结束时增加 1,而 $i 小于或等于列表长度减 1。如果你想从1、一开始就设置$i为1。
-
also ... [1] 除非您知道需要,否则不应在 cmdlet 或函数的输入周围使用
()。你的Write-Host电话似乎不需要它。 [2] 您在W-H调用中省略了$,因此不会对变量进行评估......它只会打印i:和myList[i]:。 [咧嘴]
标签: arrays powershell loops for-loop