ja-JP/about_Assignment_Operators.help.txt

TOPIC
    about_Assignment_Operators

簡単な説明
    変数に 1 つ以上の値を代入する演算子について説明します。

詳細な説明
    代入演算子は、変数に値を代入します。また、代入の前に演算を実行できる
    演算子もあります。

    基本的な代入演算子は等号 (=) です。複合代入演算子 (+=, -=, *=, /=,
    %=, ++, --, ??=) は、代入の前に算術演算などを実行します。

    変数は最初の代入時に自動的に作成されます。変数がまだ存在しない場合、
    代入演算子は変数を作成します。変数には任意の .NET データ型の値を
    格納できます。

    PowerShell は次の代入演算子をサポートします。

        = 右側の値を変数に代入する
        += 変数の値を増やす、または既存の値に値を追加する
        -= 変数の値を右側で指定した値だけ減らす
        *= 変数の値に右側の値を掛ける、または文字列を繰り返す
        /= 変数の数値を右側で指定した値で割る
        %= 変数の数値を右側の値で割った剰余を代入する
        ++ 変数の値を 1 つ増やす (インクリメント)
        -- 変数の値を 1 つ減らす (デクリメント)
        ??= 左側が null の場合にのみ右側の値を代入する

代入演算子 (=)
    等号 (=) は、右側の値を左側の変数に代入します。

        $a = 1
        $b = "string"
        $c = Get-Process

    1 つの文で複数の変数に値を代入することもできます。

        $a = $b = $c = 0 # すべて 0 になる

加算による代入 (+=)
    += 演算子は、変数の値を増やす、または既存の値に指定した値を追加
    します。数値では加算、文字列では連結、配列では要素の追加を行います。

        $a = 4
        $a += 2 # $a は 6 になる

        $a = 1,2,3
        $a += 2 # $a は 1,2,3,2 になる

減算による代入 (-=)
    -= 演算子は、変数の値を右側で指定した値だけ減らします。文字列には
    使用できず、コレクションから要素を削除する用途にも使えません。

        $a = 8
        $a -= 2 # $a は 6 になる

乗算による代入 (*=)
    *= 演算子は、変数の数値に右側の値を掛けます。文字列の場合は、指定
    した回数だけ文字列を繰り返します。

        $a = 3
        $a *= 4 # $a は 12 になる

        $a = "file"
        $a *= 4 # $a は "filefilefilefile" になる

除算による代入 (/=)
    /= 演算子は、変数の数値を右側で指定した値で割ります。文字列には
    使用できません。

        $a = 8
        $a /= 2 # $a は 4 になる

剰余による代入 (%=)
    %= 演算子は、変数の数値を右側の値で割った剰余を代入します。単一の
    数値に対してのみ使用できます。

        $a = 7
        $a %= 2 # $a は 1 になる

インクリメントとデクリメント (++, --)
    ++ 演算子は変数の値を 1 つ増やし、-- 演算子は 1 つ減らします。これらは
    単項演算子で、変数名の前に置く前置形式と、後に置く後置形式があり、
    代入時の動作が異なります。

    前置形式では、変数の値を変更してから返します。

        $a = 7
        $c = ++$a # $a は 8、$c も 8

    後置形式では、変数の値を返してから変更します。

        $a = 7
        $c = $a++ # $a は 8、$c は 7

null 合体代入演算子 (??=)
    ??= 演算子は、左側のオペランドが null と評価される場合にのみ、右側の
    オペランドの値を左側のオペランドに代入します。左側が null でない場合、
    右側のオペランドは評価されません。

        $x = $null
        $x ??= 100
        $x # 結果は 100

データ型と変数のキャスト
    変数の型は、既定では代入された値の .NET 型になります。角かっこを
    使った表記で、変数を特定の .NET 型に明示的にキャストできます。
    型を指定して宣言すると、その変数の型が固定されます。

        [int]$number = 8

    指定した型に変換できない値を代入しようとすると、エラーになります。

        $a = "string"
        [int]$a
        # InvalidArgument: 値 "string" を型 "System.Int32" に変換できません

複数の変数への代入
    1 つの文で複数の変数に同時に値を代入できます。

        $a, $b, $c = 1, 2, 3 # $a=1, $b=2, $c=3

    変数より値が多い場合、余った値はすべて最後の変数に配列として代入
    されます。変数より値が少ない場合、余った変数には $null が代入されます。

        $a, $b = 1, 2, 3, 4 # $a=1、$b は 2,3,4 の配列

    この機能を利用して、2 つの変数の値を入れ替えることもできます。

        $a, $b = $b, $a

関連項目
    about_Arithmetic_Operators
    about_Comparison_Operators
    about_Operators
    about_Variables

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP