インクリメント・デクリメント演算子

整数の変数を1足したり引いたりする演算子。

C言語, C++

ある。

++i;
--i;
i++;
i--;
i += 1;
i -= 1;

Go言語 (golang)

後置のインクリメント・デクリメントのみあり、式ではなく文の扱いなので、式の中には埋め込めない。代入演算子もある。

i++
i--
i += 1
i -= 1

IncDec statements | The Go Programming Language Specification
http://golang-jp.org/ref/spec#IncDec_statements

Java

ある。

++i;
--i;
i++;
i--;
i += 1;
i -= 1;

Scala

ないが、代入演算子はある。

i += 1;
i -= 1;

i += 1 などは i = i + 1 などのシンタックスシュガー。

Scalaでは、なぜインクリメントやデクリメントができないのか?
http://d.hatena.ne.jp/xuwei/20110130/1296360331

PHP

ある。

++$i;
--$i;
$i++;
$i--;
$i += 1;
$i -= 1;

加算子/減算子 | PHP Manual
http://www.php.net/manual/ja/language.operators.increment.php

Python

ないが、代入演算子はある。

i += 1
i -= 1

Ruby

ないが、複合代入演算子はある。

i += 1
i -= 1

オブジェクトだから、というのはわかるが、 i = i + 1 のシンタックスシュガーだ、ということにはできないのかな?

Perl

ある。

++$i;
--$i;
$i++;
$i--;
$i += 1;
$i -= 1;

JavaScript / CoffeeScript

ある。

++i;
--i;
i++;
i--;
i += 1;
i -= 1;
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。