グローバル変数とローカル変数

グローバル変数の使用例

以下は、グローバル変数を使用したコード例です。

例 1

次のコードは、myProcedure プロシージャで $globalText グローバル変数を使用しています。グローバル変数 globalText はプロシージャの外部で定義されています。

global string $globalText;
global proc myProcedure()
{
global string $globalText;
print($globalText);
} 

例 2

この例では MEL により、子ウィンドウを作成するために使用できるウィンドウが作成されます。グローバル変数 $chosenOne は、ユーザにより選択された子ウィンドウを追跡します。新しく作成される子ウィンドウそれぞれには、chooseMe ボタンがあります。このボタンをクリックすると、そのウィンドウは $chosenOne として設定されます。メインの親ウィンドウで Delete Chosen Window をクリックすると、$chosenOne が削除されます。

下の図では、window4 が $chosenOne で、Delete Chosen Window をクリックしたときに削除されます。

コードは次のようになります。

global proc int pressMe(string $thisOne) { 
	global string $chosenOne;
	print ("was " + $chosenOne + "\n");
	$chosenOne = $thisOne;
	print ("nowIs " + $chosenOne + "\n");
	return 1; 
} ;
global proc int satWindow(){
             string $temp = `window -width 150`;
             button -label "Choose Me" -command ("pressMe " + $temp);
             showWindow;
             return 1;
}
global proc int baseWindow() { 
	global string $chosenOne;
	
	window -width 150;
	columnLayout -adjustableColumn true;
	button -label "Make another Window" -command "satWindow";
	button -label "Delete Chosen Window" -command "deleteUI -window $chosenOne";
	
	showWindow;
	return 1; 
} 
baseWindow()