[ 添付ファイルを添付する ] [ 名前変更このページの名前を変更する ] [ 編集このページを編集する ]

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

~
~

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

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

Integer、Real、Boolean以外の変数は、利用後も自動的に破棄されず、利用不可のままメモリ上に残るらしい。function の最後で、&color(teal){set ○○ = null}; を必ず行うこと。
----
#contents
----
*使い方 [#ud8c9920]
以下のように使用する。

-プレイヤーにユニットを作成し、ユニット形変数 ''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'' の最初)でなければならない。
*注意点 [#qfc49dd8]
当然ながら、functionの外では、ローカル変数を利用することはできない。

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

+関数に引数をつける
--構造体を使えば、尚便利
+''globals'' でグローバル変数を利用する
+ゲームキャッシュを利用する
--構造体を使えば、尚便利

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