YoYoGames のドキュメントだと Expressions に演算子関連の扱いが載っています。

変数への値代入は一般的な開発言語と比較して大きな特徴は無い、無難な作りになっています。ここでは自己代入に関する部分だけ話題として扱います。

自己代入(self substitution)

演算のために用いた変数 A に対して、演算結果を変数 A に代入するような処理を自己代入と呼びます。

例えば変数aに格納されている数値を1だけ増加させる場合の書き方として

    a=a+1;

これが自己代入です。そしてこの書き方には別の書き方もあります。

    a+=1;

これも有効。

自己代入と演算子の使い方

任意の演算子(+とか-とか*とか/のこと)と「=」の組合せは「自己代入演算子」として機能します。

※ただし言語によって多少呼び方が違うため、自己代入演算子というのは Ruby の概念を借りています。

Ruby では自己代入演算子(self-substitution operator)というものが用意されている。PHP では複合演算子、C や Java では複合代入演算子と呼ばれ、ここに挙げた各言語では変数の自己代入をサポートしています。


    += , -= , *= , /= , %=

自己代入という処理はプログラムでは頻繁に利用されるので、複合演算子を使えば効率的に速く書けます。

これ以外だと値のインクリメント/デクリメント(変数の値を1増減する)ならば以下のような書き方があります。

    a++; // 変数a1を加算
    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

すべて正式な書き方としてサポートされています。

次のページへ

Leave a Reply

Your email address will not be published. Required fields are marked *