+=
特定の状況で ' ' 演算子が何を意味するかを理解するのに誰か助けてくれませんか? スクリプトは次のように述べています。
$receipts{$weather} += $receipt;
$days{$weather}++;
+=
特定の状況で ' ' 演算子が何を意味するかを理解するのに誰か助けてくれませんか? スクリプトは次のように述べています。
$receipts{$weather} += $receipt;
$days{$weather}++;
と仮定すると$foo += $bar
、+=
オペレーターは次のことを行います。
$foo = $foo + $bar;
つまり、 ずつ増加$foo
し$bar
ます。と仮定すると$foo++
、++
オペレーターは次のことを行います。
$foo = $foo + 1;
つまり、変数を 1 つ増やします。
とはいえ、これらのオペレーターには隠れた perl マジックもいくつかあります。たとえば、+=
and++
演算子は、対応するステートメントが次のような場合に、初期化されていないという警告を出しません。
# $foo is undefined
$foo += 10; # no warning
$foo++; # no warning
$foo = $foo + 10 # Use of uninitialized value $foo in addition
++
演算子は文字列でも機能します
my $foo = 'a';
$foo++;
print $foo; # prints 'b'
この++
演算子には、ポスト インクリメントとプリ インクリメントの 2 つの種類があります。式の戻り値は、増分の前または後に計算されます。
$foo = 1;
print ++$foo; # prints 2
print $foo++; # prints 2, but $foo is now 3
$receipt
の値を の値に加算し$receipts{$weather}
、結果を に戻します$receipts{$weather}
。これは次と同等です。
$receipts{$weather} = $receipts{$weather} + $receipt
ただし、場合によっては、より効率的に実装できます。
perldocperlopを参照してください。
"="は通常の代入演算子です。
代入演算子はCのように機能します。つまり、
$a += 2;
と同等です
$a = $a + 2;
例:
この例: int i = 2; i=i+4; そしてこの例 int i = 2; i+=4 は同じです。