MELでのグローバル変数の使い方です。
{ global int $gInt = 10; test(); } global proc test(){ global int $gInt; print $gInt; } // 結果 10
グローバル変数は関数ごとに宣言が必要。
7行目を削除してしまうと、宣言がないため8行目がエラーになります。
ちなみに初期化は定数値しか受け付けてくれません。
注意点!初期化は1回の宣言につき一回しか行われない
{ global int $gInt; test(); $gInt = 3; test(); } global proc test(){ global int $gInt = 5; print( $gInt + "\n" ); } // 結果 5 3
上記のソースに関して、結果が5でないところに注意。
test()が一度目に呼び出された際(3行目)には初期化の5を実行(9行目)しますが、二回目のtest()(5行目)の際には初期化(9行目)を実行しないので、test()呼び出し(5行目)直前に代入した3(4行目)の方が格納されたままになります。