PowerShell: 代入演算子

PowerShellで使用する代入演算子は 「= += -= *= /= %=」があります。

代入演算子は値を代入するための演算子で、 例えば「$a = 1」の場合、変数「$a」に1を代入します。 「$b += 1」の場合は変数「$b」の値に1を加算した値を変数「$b」に代入します。 つまり「$b = $b + 1」と同じ意味です。

各演算子の意味と使い方は次の通りです。

演算子意味使い方
=右辺の値を左辺に代入する$a = 1
+=右辺の値を左辺の値に加算する$a += 1
-=右辺の値を左辺の値から減算する$a -= 1
*=右辺の値を左辺の値に乗算する$a *= 1
/=右辺の値を左辺の値から除算する$a /= 1
%=右辺の値を左辺の値から除算した余り$a %= 1

プログラミング初心者にとっては「+=」や「-=」などの代入演算子は 使い慣れるまで違和感があるかもしれません。 その場合は次のように「+=」 などの代入演算子を使わない方法で記述しても構いません。

代入演算子他の書き方
$a += 1$a = $a + 1
$a -= 1$a = $a - 1
$a *= 2$a = $a * 2
$a /= 2$a = $a / 2
$a %= 3$a = $a % 3

各代入演算子の具体的な使用例は次の通りです。 コメント部分でその時点での変数「$a」の値を表示しています。

$a = 1   # 1

$a = 1
$a += 5  # 6

$a = 10
$a -= 3  # 7

$a = 2
$a *= 3  # 6

$a = 10
$a /= 5  # 2

$a = 10
$a %= 3  # 1

「+=」と「*=」の2つの代入演算子については、 数値だけでなく文字列でも使うことができます。 「+=」は左辺の変数に右辺の文字列を加え、 「*=」は左辺の変数を右辺の回数分だけ繰り返した文字列にします。

$a = "abc"
$a += "def"
Write-Host $a # abcdef

$a = "abc"
$a *= 3
Write-Host $a # abcabcabc

(まとめ記事: PowerShell 演算子

PowerShell