У меня есть такой скрипт:
test.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 параметров, которые я загружаю и инициализирую внутри load-параметры.
Проблема, которую я пытаюсь решить, - попытка сохранить значения инициализации (как я думаю,) глобальных функций области действия внутри скрипта.
Вышеприведенная функция возвращает:
name: Bob
age: 23
name:
age:
Записаны ли локальные изменения при изменении их на функции?похоже, что реализация состоит в том, что параметры передаются путем копирования в функции, которые вы пишете внутри скрипта.
Я понимаю, что могу обойти это, передав переменные по ссылке (если в функциях powershell есть даже вещь)), но это было бы некрасиво, учитывая количество параметров, которые мне нужно передать.Есть ли способ указать область действия переменной, когда я делаю назначение внутри функции "load-parameters"?