Могу ли я получить возвращаемое значение, подготовленное PowerShell, прежде чем вернуться из функции? - PullRequest
0 голосов
/ 21 сентября 2009

Можно ли узнать возвращаемое значение , подготовленное 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]
}

1 Ответ

2 голосов
/ 21 сентября 2009

Нет такой переменной, как $ CURRENT_RESULT, о которой я знаю. Вы можете сделать что-то ручное / безобразное, как это:

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

Вы также упомянули о желании узнать значения до возврата из функции. Обратите внимание, что если вы запускаете эту функцию и не фиксируете ее вывод, 1 и 2 показывают до первого вызова Write-Host, например:

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

Это потому, что функции ведут себя как командлеты, то есть они записывают в вывод, как только вывод становится доступным. Поэтому в этом отношении функции PowerShell не совсем ведут себя как традиционные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...