about_Ref

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

トピック

about_Ref

概要

参照変数型を作成および使用する方法について説明します。

詳細説明

参照変数型を使用すると、メソッドに渡された変数の値をメソッドで変更することができます。

オブジェクトに [ref] 型が関連付けられている場合、そのオブジェクトへの参照が返されます。メソッドで参照を使用すると、メソッドに渡されたオブジェクトをメソッドで参照できます。メソッド内でオブジェクトが変更された場合、呼び出し元のメソッドに制御が戻るときに、その変更が変数の値の変更として表示されます。

参照を使用するには、パラメーターに参照変数を指定する必要があります。そうでない場合は、InvalidArgument 例外がスローされます。

メソッド呼び出しで使用するパラメーターは、メソッドに必要な型と一致している必要があります。

例:

        PS> function swap([ref]$a,[ref]$b) 
        >> { 
        >>     $a.value,$b.value = $b.value,$a.value 
        >> }

        PS> $a = 1
        PS> $b = 10
        PS> $a,$b
        1
        10
        PS> swap ([ref]$a) ([ref]$b)
        PS> $a,$b
        10
        1

        PS C:\ps-test> function double
        >> {
        >>     param ([ref]$x) $x.value = $x.value * 2
        >> }

        PS C:> $number = 8
        PS C:> $number
        8
        PS C> double ([ref]$number)
        PS C> $number
        16

変数には、参照変数を指定する必要があります。

        PS C:\ps-test> double $number
        double : Reference type is expected in argument.
        At line:1 char:7
        + double  <<<< $number

関連項目

about_Variables

about_Environment_Variables

about_Functions

about_Script_Blocks