[ 編集このページを編集する ]

トップ > MAP作成 > トリガーエディタ > Jass Script > Jass講座 > local



ローカル変数とは、それを宣言したfunction内でのみ有効な変数。

Jass Scriptでは、利用する変数は明示的に宣言する必要がある。

Integer、Real、Boolean以外の変数は、利用後も自動的に破棄されず、利用不可のままメモリ上に残るらしい。function の最後で、set ○○ = null を必ず行うこと。



使い方

以下のように使用する。

  • プレイヤーにユニットを作成し、ユニット形変数 udg_Hero に格納する
        function CreateHeroForPlayer takes player whichPlayer, integer unitId returns nothing
            local integer PlayerId = GetPlayerId(whichPlayer)
    
            set udg_Hero[PlayerId] = CreateUnit(whichPlayer,unitId,0,0,0)
    
        endfunction

local による変数の宣言は、かならず他の関数より前(function の最初)でなければならない。

注意点

当然ながら、functionの外では、ローカル変数を利用することはできない。

libraryやscope内にローカル変数を作成することはできない。複数の関数で変数を共有したい場合は、

  1. 関数に引数をつける
  2. globals でグローバル変数を利用する
  3. ゲームキャッシュを利用する

これらの方法しかない。これらの場合、構造体を使えば、尚便利だ。