YoYoGames のドキュメントだと Expressions に演算子関連の扱いが載っています。
参考 (YoYoGames):Expressions
変数への値代入は一般的な開発言語と比較して大きな特徴は無い、無難な作りになっています。ここでは自己代入に関する部分だけ話題として扱います。
自己代入(self substitution)
演算のために用いた変数 A に対して、演算結果を変数 A に代入するような処理を自己代入と呼びます。
例えば変数a
に格納されている数値を1
だけ増加させる場合の書き方として
a=a+1;
これが自己代入です。そしてこの書き方には別の書き方もあります。
a+=1;
これも有効。
自己代入と演算子の使い方
任意の演算子(+
とか-
とか*
とか/
のこと)と「=
」の組合せは「自己代入演算子※」として機能します。
※ただし言語によって多少呼び方が違うため、自己代入演算子というのは Ruby の概念を借りています。
Ruby では自己代入演算子(self-substitution operator)というものが用意されている。PHP では複合演算子、C や Java では複合代入演算子と呼ばれ、ここに挙げた各言語では変数の自己代入をサポートしています。
+=
, -=
, *=
, /=
, %=
自己代入という処理はプログラムでは頻繁に利用されるので、複合演算子を使えば効率的に速く書けます。
これ以外だと値のインクリメント/デクリメント(変数の値を1増減する)ならば以下のような書き方があります。
a++;
// 変数a
に1
を加算a--;
// 変数a
から1
を減算スクリプト・サンプル
var a; a[9]=0;
// 配列の要素を10確保し連番を代入する処理
for (var i=0; i<10; i++){ a[i] = i; };
上記例だとi++
の部分は
i=i+1
もしくは
i+=1
すべて正式な書き方としてサポートされています。