スペースインベーダー演算子を使ってみた
※ネタです※
あらかじめ言っておきますが、ネタブログです。プログラミング言語における、いわゆるヘンテコ構文ルールをおかしく書いてゆくブログです。
スペースインベーダー演算子とは?
プログラミング言語にはたくさんの演算子があります。C言語で言えば、+ * = ^ &&
、C++で言えば、and class ::
、Pythonで言えば、** in :
、などがあると思います。
これはほんの一例だし、中には公然に仕様書に書かれていない演算子があります。今回はそのうちの一つのスペースインベーダー演算子を紹介します。
C言語でもできますが、まあ、よく私はPythonでブログを書くので、今回もPythonで書いてゆきます。
invader = 0
invader -=- 1 # space invader operator
print("invader:", invader)
# invader: 1
invador +=+ 1 # space invader operator
print("invader:", invader)
# invader: 2
なんだこれは
スペースインベーダー演算子-=- +=+
は、およそインクリメントと同じような機能を持ちます。すごい!
まあ、フツーのインクリメントがあるんだし、そんなに使うことはありませんが、こんなものもあるよ、と見納めください。
それでは終わらない
残念ながら、これは標準的に呼ばれている「演算子」とは違います。なぜか?
それは、以下のように構文を分けてみればわかります。
invader = 0
invader -=- 1
invader -= - 1 # これをこんな感じに分けて
invader -= -1 # こう!
invader -= (-1) # もう少し!
invader = invader - (-1) # これでわかって!
つまり、-1をデクリメントしているわけです。
+=+
に関しても、同様に+1をインクリメントしているだけということになります。
さいごに
これでわかっていただけたでしょうか?
いわゆる、スペースインベーダー演算子というのは、ただの-1デクリメント、または+1インクリメントだったのです!
というわけで、今回はこの辺で。
- 前の記事
自分のサイトにWPScanしてみた 2019.05.12
- 次の記事
C言語で最近傍法を実装してみた 2019.05.23