Powershell 函数不会跳出循环
Powershell function would not break out of loop
我有一个 powershell 函数,它应该 return 树中的下一个可用节点以预先排序的方式,基本上是一个尚未遍历的节点。但是,我发现代码不会退出到调用函数的地方,而是 returns 到函数的 foreach 循环并跳转到下一个分支,我不确定我到底做错了什么。这是代码:
function Get-nextAvailable {
param (
$tree
}
$nextNode = $null
foreach ($branch in $tree){
if ($branch.traversal -eq $false){
return $branch
}
else {
Get-nextAvailable ($branch.children)
}
}
}
您正在突破最近的控制元素。
如果你需要打破不同的,你可以使用标签。有关详细信息,请参阅 help about_break
。
顺便说一句:为什么 break
那为什么不直接 return 呢?
此外,您没有使用嵌套 Get-nextAvailable
调用的 return 值。
我有一个 powershell 函数,它应该 return 树中的下一个可用节点以预先排序的方式,基本上是一个尚未遍历的节点。但是,我发现代码不会退出到调用函数的地方,而是 returns 到函数的 foreach 循环并跳转到下一个分支,我不确定我到底做错了什么。这是代码:
function Get-nextAvailable {
param (
$tree
}
$nextNode = $null
foreach ($branch in $tree){
if ($branch.traversal -eq $false){
return $branch
}
else {
Get-nextAvailable ($branch.children)
}
}
}
您正在突破最近的控制元素。
如果你需要打破不同的,你可以使用标签。有关详细信息,请参阅 help about_break
。
顺便说一句:为什么 break
那为什么不直接 return 呢?
此外,您没有使用嵌套 Get-nextAvailable
调用的 return 值。