未分類

PowerShell - ファンクションに参照渡しで引数を受け渡す

Windows PowerShell で、ファンクションに参照渡しで引数を受け渡す方法を説明します。

ファンクションの引数を ref 型で受け取る

ります。 1. 次のファンクションを作成します。

function test ([ref]$a)
{
  $a.Value = $a.Value * 2
}

2. ファンクションをコールします。

[int]$val = 20
test ([ref]$val)
$val

ファンクションの引数を param を使って ref 型で受け取る

function test
{
  param ([ref]$a)
  $a.Value = $a.Value * 2
}

2. ファンクションをコールします。

[int]$val = 20
test ([ref]$val)
$val

(補足説明)

- param で [ref]$a を受け取る際に丸カッコでくくっていますが、これは param に文法上必要なカッコです。

- ファンクションを呼び出す際の test ([ref]$val) に書かれているカッコは [ref]$val を囲んでいるカッコです。test ファンクション側のカッコではありません。

- 従って、複数の参照型引数を受け渡す場合はそれぞれの参照型引数をカッコで囲む必要があります。

(例) test ([ref]$val1) ([ref]$val2)

-未分類