-6

有人可以帮助我理解 ' +=' 运算符在特定情况下的含义。脚本说:

$receipts{$weather} += $receipt;
$days{$weather}++;
4

4 回答 4

10

假设$foo += $bar+=操作员执行以下操作:

$foo = $foo + $bar;

也就是说,$foo增加$bar. 假设$foo++++操作员执行以下操作:

$foo = $foo + 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'

运算符有++两种形式,后增量和前增量。表达式的返回值在递增之前或之后计算:

$foo = 1;
print ++$foo;   # prints 2
print $foo++;   # prints 2, but $foo is now 3
于 2013-03-22T18:23:22.857 回答
3

它将 的值添加$receipt到 的值$receipts{$weather}并将结果存储回$receipts{$weather}. 它相当于:

$receipts{$weather} = $receipts{$weather} + $receipt

但是,在某些情况下,它可能会更有效地实施。

于 2013-03-22T18:16:13.257 回答
2

请参阅perldoc perlop

“=”是普通的赋值运算符。

赋值运算符的工作方式与 C 中的一样。也就是说,

   $a += 2;

相当于

   $a = $a + 2;
于 2013-03-22T18:29:07.257 回答
0

例子:

这个例子:int i = 2; 我=我+4;这个例子 int i = 2; i+=4 相同;

于 2013-03-22T18:16:05.593 回答