|
演算子
$x = $x + 1;
ここまでなにとなく演算子については解説もしてないのに例題とかで勝手に使ってました。(^-^;
$x = 1;
print $x;
↓
1
みたいな。
この中では = が演算子です。
学校で習った算数でもイコールという意味で親しまれていますが、プログラミングでは
「左辺と右辺が等しい」という使い方をしません。
「右辺を左辺に代入する」という使い方をします。
Perlでは「等しい」かどうかを表すには eq か == と書きます。
$x = 1;
$x = $x + 1;
とした場合、$xは2になります。
この、$x = $x + 1 という考え方も、これまでの算数とかでは見たことの無い不思議な式です
が、プログラミングでは良く使うので覚えておいてください。
演算子の種類
とにかく沢山あります。
以下に演算子の種類を記します。
大体は算数の記号か英単語の省略形からイメージできます。
というか、このコーナーは面白くないので必要なときに参照するということで、読み飛ば
してもらっても結構です。(^_^;
算術演算子
演算子 | 意味 | 使用例 |
+ | 加算 | $x + $y |
- | 減算 | $x - $y |
* | 乗算 | $x * $y |
/ | 除算 | $x / $y |
% | 剰余算 | 剰余算 $x % $y($xを$yで割った余り) |
** | 累乗 | $x**2($xの2乗) |
++ | インクリメント | $x++ $xを1増やす → $x = $x + 1; |
-- | デクリメント | $x-- $xを1減らす → $x = $x - 1; |
文字列演算子
演算子 | 意味 | 使用例 |
x | 繰り返し | $str = "a" x 10; → $str = "xxxxxxxxxx"; @x = (1) x 10; → @x = (1,1,1,1,1,1,1,1,1,1); |
. | 連結 | $str = "x"."y"; → $str = "xy"; |
代入演算子
演算子 | 意味 | 使用例 |
= | 代入 | $x = $y |
+= | 加算代入 | $x += $y $x+$yを$xに代入 |
-= | 減算代入 | $x -= $y $x-$yを$xに代入 |
*= | 乗算代入 | $x *= $y $x*$yを$xに代入 |
/= | 剰余代入 | /= $y $x/$yを$xに代入 |
%= | 剰余代入 | $y $x/$yの余りを$xに代入 |
** | 累乗 | $xを$y乗したものを$xに代入 |
.= | 文字連結代入 | $x .= 'X' おしりにXを追加 |
数値比較演算子
演算子 | 意味 | 使用例 |
== | 等しい | $x == $y |
!= | 等しくない | $x != $y |
> | 右辺より左辺が大きい | $x > $y |
< | 左辺より右辺が大きい | $x < $y |
>= | 右辺より左辺が大きい | $x >= $y |
<= | 左辺より右辺が大きい | $x <= $y |
<=> |
左辺が大きければ 1
同じなら 0
右辺が大きければ -1
|
2 <=> 1 なら 1
1 <=> 1 なら 0
1 <=> 2 なら -1
|
式が成り立つときには1、成り立たないときには空文字""を返します。
返すとはどういうことかというと、例えば成り立つときには1になるということです。
試しに、print 1<2; とすると 1 と表示され、print 1>2; とすると空文字が表示され
ます=何も表示されません。
これはよく条件文で使用します。
条件文とは「条件が成り立つのなら実行する」「条件が成り立たなければ実行しない」
という感じで「処理を分岐する」ものなのですが、Perlでは「条件が成り立たない」こと
の目印を 0 か "" とし、それ以外の値は「条件が成り立った」ことの目印とします。
だから、成り立つ成り立たないという問題とは関係なく、直接 0 や "" を送り込んでも
「条件が成り立たない」と勝手に判断したりすのですが、それはさておき、(-_-)ノノロ
このことを利用して演算子でいろいろ物事を判定することができます。
条件文については別コーナーで説明します。
文字列比較演算子
演算子 | 意味 | 使用例 |
eq | 等しい | |
ne | 等しくない | |
gt | 右辺より左辺が大きい | $x gt $y |
lt | 左辺より右辺が大きい | $x lt $y |
ge | 右辺より左辺が大きい 又は等しい | $x ge $y |
le | 左辺より右辺が大きい 又は等しい | $x le $y |
cmp |
左辺が大きければ 1
同じなら 0
右辺が大きければ -1
|
B <=> A なら 1
A <=> A なら 0
A <=> B なら -1
|
イコール、ノットイコール、グレーター、リトラー、グレーターイコール、リトラーイコールの略です。
論理演算子
演算子 | 意味 | 使用例 |
&& | 論理積 | $x && $y |
|| | 論理和 | $x || $y |
! | 否定 | ! $x |
and | 論理積 | $x and $y |
or | 論理和 | $ or $y |
not | 否定 | not $x |
例えば、&& と and は同じですが、and の方が優先順位が低いのでかっこでくくられていない条件
を結ぶときに無難です。
条件演算子
演算子 | 意味 | 使用例 |
?: | 真なら左 偽なら右 | $x = ($y > $z) ? $y:$z; $yが大きければ$yを$zが大きければ$zを$xに代入 |
範囲演算子
演算子 | 意味 | 使用例 |
.. | 左から右まで | @x = ('A' .. 'C'); → @x = ('A','B','C'); |
アロー演算子
演算子 | 意味 | 使用例 |
-> | リファレンスされたものの中身を参照 | $hashref->{nanika} $objref->nanika(); |
だいたいこなとこです。
嘘。まだ全部じゃないのですがとりあえずこれぐらいで大体のことはできるかと。
|
日常とで微妙な感じについて徒然なるままに書きます。
【均等幅のMSゴシックが好き】左端をピッタリあわせられるのでプログラム製作に関わっ
た方はこのフォントを好まれる傾向があるかもです。私は好きです。
【PG止まり vs 能無しのSE】PGとはプログラマーのことでSEとはシステムエンジ
ニアのことです。PGは言葉通りプログラムを組む人のことで、SEとはコンピューター
を使って何かをどうにかする仕組み全体を考え出す人です。だからSEはPGよりも色ん
なことを考えなければなりません。なのでなんとなくPGよりもSEの方が偉いイメージ
がありますが、いろんな立場での経験上、どちらかというと能無しのSEの方が多いよう
に思います。いえ、まったくの思い込みですが。
【将来の夢はゲーム関係】多分いろんな意味でドリームです。
【将来の夢はSE、PG】公務員の方が絶対に良いです。年収、自由になる時間、将来の
不安、どれをとっても公務員の方が良いです。「将来公務員になりたい」と発言する子供
に対して「今時の子供は夢がない」などというおマヌさんがほんとにまだ多いです。どんなにした
いことがあっても生活するお金は必要だし何よりしたいことをする時間が必要。貧富の差
が露骨なこの社会において無責任なことを言う人は反省してください。
【この業界は30才ぐらいまで】言いなりになりやすいという意味でそうなのだと思います。
|
|