从函数返回之前,可以通过powershell获得返回值吗?

问题描述:

是否有可能知道返回值由powershell编写之前从函数返回?从函数返回之前,可以通过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] 
} 

没有像$ CURRENT_RESULT一个变量,我所知道的。你可以这样做一些手动/丑陋的东西:

function Foo 
{ 
    $OFS = ',' 
    $r1 = & { 
     1 
     2 
    } 
    $r1 
    Write-Host "Returning $r1" 
    $r2 = & { 
     3 
     4 
    } 
    $r2 
    Write-Host "Returning $r2" 
} 

你还提到想知道函数返回前的值。请注意,如果你运行该功能,但不会捕获它的输出,1和2显示了第一次调用之前写主机如:

PS> Foo 
1 
2 
Returning 1,2 
3 
4 
Returning 3,4 

这是因为函数的行为cmdlet一样,即他们写只要输出可用,输出即为输出。所以在这方面,PowerShell的功能并不像传统的功能。

+0

我也没有发现任何东西。 – alex2k8 2009-09-22 10:17:21