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