Возврат переменной из одной функции в другую в powershell - PullRequest
0 голосов
/ 03 октября 2019

Я нахожусь внутри функции # 1 и запускаю функцию # 2. Функция # 2 имеет переменную, которую я хочу вернуть в функцию # 1 и использовать ее.

Мой вывод в итоге будет:

hey there
var is:

То, что я хочу, это вывод:

var is: hey there

Почему я могу передать функцию переменнойи он использует его, но когда я изменяю эту переменную в функции # 2, она не меняет переменную после нее returns?

$var = $null

function one() {

two($var)

write-host "var is:" $var

}


function two($var){

$var = "hey there"

return($var)

}

clear
one

1 Ответ

1 голос
/ 03 октября 2019

Во-первых, измените вашу функцию two, чтобы она действительно возвращала значение:

function two {
  $var = "hey there"

  return $var
}

, а затем обновите функцию one, чтобы она фактически "захватывала" выходное значение, присваивая его переменной:

function one {
  # PowerShell doesn't use parentheses when calling functions
  $var = two

  Write-Host "var is:" $var
}
...