Drools 5.0 - 本地......全球

时间:2010-04-22 16:30:17

标签: drools

我想声明一个仅限于我的规则文件的全局变量。 例如:变量$ reUseMe仅声明一次。

规则1

$ reUseMe:POJO(val = 1)   //其他条件

规则2

$ reUseMe> VAL

2 个答案:

答案 0 :(得分:3)

你可以通过eval引用LHS中的全局变量:

全局SomeType变量

规则......    什么时候      ...      eval(变量>某事)

答案 1 :(得分:2)

没有作用域的全局变量,但在某些情况下,规则继承有帮助。

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。规则2中忽略规则1中的RHS。