ローカル変数のことを別の言語では「自動変数」とも言います。

このエントリーをはてなブックマークに追加

変数の生存期間が過ぎると自動的に削除されるから自動変数と呼ばれます。宣言は 「var 」。「var」 の後に必ず「 」半角スペースが必要です。

    var a; /* ローカル変数 a の宣言 */

変数の宣言はカンマ「,」で区切って一括した宣言も可能です。

    var a,b,c,d,e; /* ローカル変数 a,b,c,d,e の宣言 */

var はたぶん variables (変数)の略です。Variant 型の略である可能性は……無いと信じたい。

※ Variant 型は VBA (VB 2.0 〜 6.0) やエクセルのマクロで利用されている型。なんでも入る。

変数の生存期間

使い捨ての変数として重宝されます。ローカル変数の生存期間はスクリプトのブロック内に限られます。

GML のコードエディタからは普段隠されていますが、デバッガから見れば常にブロックの中にステートメントを書いていることが視覚的に確認できます。


    ブロックというのは{}で囲まれたステートメントのことです。

    {}の読み方が分からない、使い方が分からない、ブロックの意味が分からない人は先に括弧(ブラケット)のリファレンスを読んでください。


    GM_studio_14_debug_block_statements

コードエディタからは確認できないゼロ行と、ブロックを閉じる最終行が追加されているのがデバッガの表示では確認できます。このブロックの範囲内がローカル変数のスコープ範囲内であり、ここから別のイベントに処理が移った時点でローカル変数は破棄されます。

つまりローカル変数は別のオブジェクト・インスタンスから値を直接参照させることはできません(別のオブジェクト・インスタンスに処理が移った時点でローカル変数は常に破棄されているから)。

参考 (YoYoGames):Local Variables

次のページへ

Leave a Reply

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