gpt4 book ai didi

powershell - 在像PowerShell中的Foreach-Object这样的循环中退出函数

转载 作者:行者123 更新时间:2023-12-03 00:18:43 24 4
gpt4 key购买 nike

我在Powershell中具有这样的功能:

function F()
{
$something | Foreach-Object {
if ($_ -eq "foo"){
# Exit from F here
}
}
# do other stuff
}

如果我在if语句中使用 Exit,则退出powershell,我不希望出现这种情况。如果我在if语句中使用 return,则foreach会继续执行,其余函数也会执行。我想出了这个:
function F()
{
$failed = $false
$something | Foreach-Object {
if ($_ -eq "foo"){
$failed = $true
break
}
}
if ($failed){
return
}

# do other stuff
}

我基本上引入了哨兵变量持有,无论我是否退出循环。 有更清洁的解决方案吗?

最佳答案

有什么帮助吗?

function F()
{
Trap { Return }
$something |
Foreach-Object {
if ($_ -eq "foo"){ Throw }
else {$_}
}
}

$something = "a","b","c","foo","d","e"

F
'Do other stuff'
a
b
c
Do other stuff

关于powershell - 在像PowerShell中的Foreach-Object这样的循环中退出函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921875/

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