***HPクリエイターのためのCGI講座 第13回***
3.5 代入演算子
演習問題がここのページにあります。 今週中を目標に完成させてください。 (解答も同じページにありますが、まずは、自分自身でチャレンジしてくださいね) |
代入演算子(=)については、これまでも出てきていますね。
変数に、数値や文字列をコピーします。
プログラムに不慣れな人は、
$tst = $tst + 10;
のようなプログラム文を見ると、違和感を感じるでしょう。
今までの経験で = (イコール)は、等式として馴染んできましたからね。
しかし、Perlでは = (イコール)は代入文として働きます。
したがって、
$tst = $tst + 10;
は、$tstへ$tstに10を加えたものを代入せよと言う命令になります。
この文を実行する前に$tstに5が入っていれば、この文の実行後は、$tstに15が代入されます。
$tst = 5; #$tstには 5 が設定される
$tst = $tst + 10; #$tstには 15 が設定される
代入文には、今まで説明してきたように単純に値をコピーするだけではなく、演算を同時におこなう代入文が多数存在します。
上記の例の
$tst = $tst + 10;
と同じ、作用をする代入文で記述すると
$tst += 10;
に書き換えることが可能です。
演算子 | 例 | 等価な式 |
= | $a += $b; | $a = $a + $b; |
+= | $a += $b; | $a = $a + $b; |
-= | $a -= $b; | $a = $a - $b; |
*= | $a *= $b; | $a = $a * $b; |
/= | $a /= $b; | $a = $a / $b; |
%= | $a %= $b; | $a = $a % $b; |
.= | $a .= $; | $a = $a . $; |
x= | $a x= $b; | $a = $a x $b; |
&&= | $a &&= $b; | $a = $a && $b; |
||= | $a ||= $b; | $a = $a || $b; |
&= | $a &= $b; | $a = $a & $b; |
|= | $a |= $b; | $a = $a | $b; |
^= | $a ^= $b; | $a = $a ^ $b; |
<<= | $a <<= $b; | $a = $a << $b; |
>>= | $a >>= $b; | $a = $a >> $b; |
演習プログラムの虫食いのところを、色々変えて確認してみてください。
********************************************************************************
講師:ALK alk@arkland.co.jp
運営:アークランド(株) http://www.arkland.co.jp