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行目)の方が格納されたままになります。