[英]Powershell function would not break out of loop
我有一个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)
}
}
}
您正在突破最新的控制元素。
如果需要突围,可以使用标签。 有关详细信息,请参见help about_break
。
顺便说一句:为什么要在那里break
,为什么不直接返回?
同样,您没有使用嵌套的Get-nextAvailable
调用的返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.