コードを考えると:
my $x = 1;
$x = $x * 5 * ($x += 5);
私は次のよう$x
になると思います180
:
$x = $x * 5 * ($x += 5); #$x = 1
$x = $x * 5 * 6; #$x = 6
$x = 30 * 6;
$x = 180;
180;
しかし、そうではあり30
ません。ただし、用語の順序を変更すると、次のようになります。
$x = ($x += 5) * $x * 5;
私は得180
ます。私が混乱している理由は、それperldoc perlop
が非常にはっきりと言っているからです:
Perl では TERM が最も優先されます。それらには、変数、引用符および引用符のような演算子、括弧内の式、および引数が括弧で囲まれている関数が含まれます。
は括弧内にあるため($x += 5)
、項である必要があり、式の順序に関係なく最初に実行されます。