我想聲明一個全局變量,其範圍僅限於我的規則文件。 例如:變量$ reUseMe只聲明一次。Drools 5.0 - 本地...全球
規則1
$ reUseMe:POJO(VAL = 1) //其他條件
規則2
$ reUseMe> VAL
我想聲明一個全局變量,其範圍僅限於我的規則文件。 例如:變量$ reUseMe只聲明一次。Drools 5.0 - 本地...全球
規則1
$ reUseMe:POJO(VAL = 1) //其他條件
規則2
$ reUseMe> VAL
有沒有範圍的全局變量,但在某些情況下,排除遺傳幫助。
rule "Rule 1"
when
$reUseMe :POJO(val == 1)
then
end
rule "Rule 2" extends "Rule 1"
when
# You can use the variables from Rule 1
POJO(val > $reUseMe.val)
then
end
只添加LHS。規則1中的RHS在規則2中被忽略。
這很有幫助。 你能分享一個鏈接到任何文檔嗎? 謝謝! – whitespy9 2010-05-06 13:06:52
我只能找到這個博客條目,檢查「類別規則」http://blog.athico.com/2008/10/while-everyone-was-having-fun-at-orf.html 這就是它的使用方法在Guvnor中,但在DRL中,如同我的示例中那樣使用它,它所做的是複製規則2頂部的規則1的條件。這樣,您可以使用規則2中規則1中的所有變量和條件。 – 2010-05-07 11:21:22
則可以通過參考在全局LHS eval:
global Some變量
規則... 時 ... 的eval(變量>的東西)
我只是將其插入工作記憶中。試圖不這樣做。 – whitespy9 2010-04-23 15:35:50