定義表示式
若要定義符號,您必須使用表示式。代理程式會對表示式求值以指派符號的值。
在表示式中使用資料
表示式可以使用下列資料:- 要求類型的輸入資料符號
- 相同要求對映程式定義中說明的其他符號
- 數值常數
- 字串常數(以 " 定界,例如,"string")
- 布林常數(true、TRUE、false、FALSE)
- 空值常數
如需輸入資料符號的相關資訊,請參閱表 2。
如果符號值為 Java™ 類別的實例化,則表示式可以包含對類別內定義的欄位及方法的參照。若要參照欄位,請使用 symbol.fieldname。若要參照方法,請使用 symbol.methodname(parameters)。方法呼叫必須返回值。例如,您可以使用 Java 字串方法及包含字串值的符號。
若要參照類別的靜態欄位或方法,您還可以使用 classname.fieldname 和 classname.methodname(parameters)。
如果符號參照陣列物件,則表示式可以選取元素 (symbol[selector]) 並決定陣列的長度 (symbol.length)
運算子
您可以在表示式中使用下列運算子:
- 布林運算子:AND、&、OR、|、NOT、!
- 比較:==、!=、GT、>、LT、<、GE、>=、LE、<=
- 數值運算子:+、-、*、/
- 括弧(用於強制求值順序):(, )
重要: 在 XML 中,您必須跳出符號 <、> 和 &。您也可以使用 GT(大於)、GE(大於或等於)、LT(小於)、LE(小於或等於)和 AND 運算子。
表示式可以使用 instanceof 運算子來評估值是否為類別的實例:
expression instanceof java.class.name
此運算子類似於 Java 的 instanceof 運算子,會產生布林值。在此範例中,如果 expression 值所屬的類別符合下列任何條件之一,則值為 true:- 名稱為 java.class.name
- 是 java.class.name 可識別之類別的直接或間接子類別。
- 直接或間接實作 java.class.name 識別的介面。
new java.class.name(expression1, expression2, ... expressionN)
運算子優先順序
運算子依優先順序求值。具有相同優先順序的運算子從左至右進行求值。您可以使用括弧 ( 和 ) 來變更求值順序。優先順序如下所示:
- . 運算子(方法呼叫或欄位參照)
- [ ](陣列元素選取器)
- new
- !, NOT
- *, /
- +, -
- GT, >, LT, <, GE, >=, LE, <=, instanceof
- ==, !=
- AND, &
- OR, |
範例
$s1 >= ( 2 * ($s2.sampMethod($s3, true) + 1))