У меня есть такой скрипт:
тест.ps1
param (
$name,
$age
)
function load-parameters()
{
$name = "Bob"
$age = "23"
Write-Host "name: " $name
Write-Host "age: " $age
}
load-parameters
Write-Host "name: " $name
Write-Host "age: " $age
За исключением того, что вместо имени и возраста у меня есть около 10 параметров, которые я загружаю и инициализирую внутри параметров загрузки.
Проблема, которую я пытаюсь решить, заключается в попытке сохранить значения инициализации (как я думаю) функций глобальной области видимости внутри скрипта.
Функция выше возвращает:
name: Bob
age: 23
name:
age:
Зашиты ли локальные правки, когда вы превращаете их в функции? похоже, что реализация заключается в том, что параметры передаются путем копирования функциям, которые вы пишете внутри скрипта.
Я понимаю, что могу обойти это, передав переменные по ссылке (если есть что-то в функциях powershell), но это было бы некрасиво, учитывая количество параметров, которые мне нужно передать. есть ли способ указать область действия переменной, когда я выполняю задание внутри функции «параметры загрузки»?