2012-11-12 47 views

回答

1

exec是執行規則和腳本之外的命令。後面是包含由規則和腳本組成的序列的括號。

執行規則中的應用程序順序有嚴格的順序(參見Is there a fixed order of how the right-hand side of a rule is executed in GrGen.NET?)。 exec始終是最後執行的語句(當然在return之前)。因此,我們無法將exec的變量傳遞給eval。因此,在exec中由於執行腳本而產生的變量必須分配給exec語句內的節點/邊緣屬性。爲此,我們使用大括號並編寫與eval聲明中相同的代碼。

在以下示例中,腳本被稱爲該返回三個給定的值的最高值(a.value中,b.value,c.value)並將其存儲節點的屬性(d.value) 。

exec ((max_value) = getMaxValue(a.value, b.value, c.value) ;> 
      { 
       d.value = max_value; 
      } 
     ); 
相關問題