分支演算法
現成分支演算法如下:
演算法
描述
wt.rule.algorithm.BooleanBranch
取一份含有三個物件的清單。Value 標籤內含的第一個物件應是會傳回布林值的物件,布林值可告知 BooleanBranch 演算法要傳回另外兩個物件 (包含在引數內) 中的哪一個。
wt.rule.algorithm.CaseBranch
與 BooleanBranch 類似,不同之處在於事例為 TRUE 時才會發生分支。若無任何 TRUE 的事例,則每個事例會有一個引數,外加可識別預設值的另一個引數。
BooleanBranch 演算法的一般語法如下:
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="xxx">
:
</Value>
<Arg>yyy</Arg>
<Arg>zzz</Arg>
</Value>
巢狀式 Value 標籤中命名的演算法 (利用格式中的 xxx 識別) 可以是最後產生布林值的任何有效演算法。引數中的一個物件 (由 Arg 標籤及 yyy 和 zzz 字串識別) 的使用取決於 xxx 演算法的結果。
具有三種事例的 CaseBranch 演算法的一般語法如下:
<Value algorithm="wt.rule.algorithm.CaseBranch">
<Value algorithm="xxx1">
:
</Value>
<Arg>yyy1</Arg>
<Value algorithm="xxx2">
:
</Value>
<Arg>yyy2</Arg>
<Value algorithm="xxx3">
:
</Value>
<Arg>yyy3</Arg>
<Arg>yyy4</Arg>
</Value>
CaseBranch 演算法可含有數目不限的事例。CaseBranch 演算法中每一個事例的構成份子為:可計算為 TRUE 或 FALSE 的 Value 元素,及直接位在 Value 元素後的引數。若 Value 元素為 TRUE,則會使用引數,且不會計算條件約束中的其餘標籤。若第一個事例中的 Value 元素為 FALSE,則會計算下一個事例。系統會依據事例出現在檔案中的順序繼續計算每一個事例,直到當前的計算產生 TRUE 結果。系統會使用與該事例相關聯的引數。若指定的事例中沒有任何 TRUE 的事例,則會使用供 CaseBranch 演算法使用的最後一個引數。
在上述的一般語法中,您可以在 Arg 標籤中使用的值是字串。您也可用 Value 標籤取代 Arg 標籤。您可用巢狀式 Value 標籤取代 Arg 標籤,以在引數內執行其他計算作業。
這是否有幫助?