在从函数返回之前,是否可以知道powershell准备的返回值?
伪代码:
function Foo()
{
1
2
Write-Host $CURRENT_RESULT # I would like it to print [1, 2]
3
4
Write-Host $CURRENT_RESULT # I would like it to print [1, 2, 3, 4]
}
答案 0 :(得分:2)
我不知道像$ CURRENT_RESULT这样的变量。你可以做一些手动/丑陋的事情:
function Foo
{
$OFS = ','
$r1 = & {
1
2
}
$r1
Write-Host "Returning $r1"
$r2 = & {
3
4
}
$r2
Write-Host "Returning $r2"
}
您还提到想要在函数返回之前知道值。请注意,如果您运行此函数但未捕获其输出,则在第一次调用Write-Host之前,1和2将显示,例如:
PS> Foo
1
2
Returning 1,2
3
4
Returning 3,4
这是因为函数的行为类似于cmdlet,即只要输出可用,它们就会写入输出。所以在这方面,PowerShell功能并不像传统功能那样。