gpt4 book ai didi

powershell - 为什么 ForEach-Object 中的 continue 操作与中断类似?

转载 作者:行者123 更新时间:2023-12-02 23:59:26 24 4
gpt4 key购买 nike

$arr = @(1..10)
$arr | ForEach-Object {
if ($_ -eq 5) { continue }
"output $_"
}

结果:

output 1output 2output 3output 4

$arr = @(1..10)
$arr | ForEach-Object {
if ($_ -eq 5) { break }
"output $_"
}

结果:

output 1output 2output 3output 4

为什么?

最佳答案

因为 continuebreak 是 for 循环,而 foreach-object 是一个 cmdlet。该行为并不是您所期望的,因为它只是停止整个脚本(在原始代码后面添加一条语句,您将看到该语句不会运行)

要获得与 foreach 循环中使用 continue 类似的效果,您可以使用 return:

$arr = @(1..10)
$arr | ForEach-Object {
if ($_ -eq 5){ return}
"output $_"
}

关于powershell - 为什么 ForEach-Object 中的 continue 操作与中断类似?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com