我希望函数语句 ( begin, process, end)的返回也应该终止其所有语句,但这不会发生。
我有一个这样的测试功能:
function test($a) {
begin {
Write-Host 'begin ' -NoNewline
if ($a -like '*begin*') { return; }
}
process {
Write-Host 'process ' -NoNewline
if ($a -like '*process*') { return; }
}
end {
Write-Host 'end' -NoNewline
if ($a -like '*end*') { return; }
}
}
Run Code Online (Sandbox Code Playgroud)
当我以这种方式运行它时:
'begin', 'process', 'end' | ForEach-Object {
Write-Host "Try exit in $_ :`t" -NoNewline
test $_
Write-Host
}
Run Code Online (Sandbox Code Playgroud)
然后我得到类似的结果:
Try exit in begin : begin process …Run Code Online (Sandbox Code Playgroud) powershell ×1