演算子について詳しくなかったので調べたよ

2018年4月5日

テクノロジー プログラミング 学習

プログラムを知らない人が「演算子」って聞くと、「弁護士」みたいな単語が思い浮かぶそうです。 「えんざんし」と「べんごし」・・・末尾の「し」しか合ってないやん・・・。 これって「韻を踏んでる」って事なのかな?なんかラッパーのような感覚ダゼ!ヨーヨー!チェケラ。 こんなアホだから、僕は演算子について、「四則演算」ぐらいしか理解していませんでした。 あとは、「三項演算子」ぐらいですね。よく使うので。

色々あった演算子

PHP7から機能追加された「Null合体演算子」というのを資料で見て、「なんじゃこりゃ!」となったんですが、三項演算子と似てる感じのようです。 そして、三項演算子の類似で、さらに「二項演算子」というのもあるようで、これは少し演算子というものを調べる必要があると考えたワケですね。 そして、調査してみたところ、以下のような単語が出てきました。 https://ja.wikipedia.org/wiki/演算子
・被演算子(オペランド) ・単項演算子(被演算子が一つだけの演算) ・二項演算子(被演算子が二つだけの演算) ・多項演算子(二項演算子より多い演算) ・算術演算子(四則演算) ・関係演算子(等合や不等号の演算など) ・論理演算子(真偽値)
wikipediaで紹介されている演算子は、説明を見ると理解できるモノでしたね。 詳しく知りたい方はググれば山のように出てきます。 肝心のプログラムで扱う演算子について、以下のようなモノがあるようです。
・二項演算子(A ?: B) ・三項演算子(A ? B : C) ・エルビス演算子(二項演算子と同じ) ・Null合体演算子(A ?? B) ・論理演算子(∧∧や||など) ・条件演算子(三項演算子や二項演算子の別名) ・代入演算子(インクリメント、デクリメント) ・比較演算子(== , != , > , < , >= , <= , ===など) ・算術演算子(+ , - , * , / , ) ・文字列演算子(“AAA” + “BBB”) ・コンマ演算子(x = [0,1,2,3,4,5,6,7,8,9]) ・文字列演算子(“AAA” + “BBB”) ・グループ化演算子(カッコで括った計算式) ・展開演算子(group = [one , two , three];)
上記はいろんな言語のサンプルが混じっているので、対象言語の詳細については、別途リファレンスを参照してください。 通常使っている四則演算のようなものは置いといて、二項演算子やNull合体演算子などは、正直使った事がありませんでした。 どうやら大体の言語にて対応しているようなので、下位互換をきちんと抑えてから使って見る価値はありそうですね。 また、言語別に若干呼び名が違うものがあったりしてヤヤコしいのだけれども、その辺は使い慣れるしかなさそうですね。 キチンとプログラム理論として覚えておく必要はありそうです。 ちなみに、「演算子」を英語で言うと「Operator」なのだそうだ。ウンチク好きな人はお見知り置きを。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。