私はそのようなスクリプトを持っています:
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
名前と年齢の代わりに、load-parameters内にロードして初期化する約10個のパラメーターがあります。
私が解決しようとしている問題は、スクリプト内の(私が思うに)グローバルスコープ関数の初期化の値を保持しようとしていることです。
上記の関数は次を返します。
name: Bob
age: 23
name:
age:
ローカル編集を関数に変更するとき、それらはハードワイヤードですか?実装では、スクリプト内で記述した関数にパラメーターがコピーによって渡されているように見えます。
変数を参照で渡すことでこれを回避できることはわかっていますが(PowerShell関数に何かがある場合でも)、渡す必要のあるパラメーターの数を考えると、それは醜いものになります。関数「load-parameters」内で割り当てを行うときに変数のスコープを指定する方法はありますか?