float $counter
如果要在某个程序中创建并保持变量,并且还在该程序的外部使用该变量,则可以将其声明为全局变量。例如:
global float $counter;
$counter 变量可由顶级中的、以及其他将 $counter 声明为全局变量的程序中的任何 MEL 代码读取或更改。此外,如果全局 $counter 变量已存在,则该程序将使用它,而不是创建新变量。
以下代码在 myProcedure 程序中使用 $globalText 全局变量。globalText 全局变量已在程序的外部定义:
global string $globalText; global proc myProcedure() { global string $globalText; print($globalText); }
在该示例中,MEL 将生成一个可用来创建更多子窗口的窗口。$chosenOne 全局变量将跟踪用户选择的子窗口。在每个新创建的子窗口内,均有一个 chooseMe 按钮。单击该按钮,可以将该特定窗口设定为 $chosenOne。在主、父对象窗口中单击“删除选择的窗口”时,将删除 $chosenOne。
在以下图像中,window4 是 $chosenOne,它将在您单击“删除选择的窗口”时删除。
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()