Drools学习教程

规则文件内容

关键词

关键字 描述
package 包名,逻辑上的管理,在进行Kbase加载的时候可以使用到
import 规则引用问题,导入类或者方法
global 全局变量,使用时候需要单独定义变量类型
function 自定义函数
queries 查询
rule 规则开始,参数是规则的唯一名称
rule 规则属性,是rule与when之间的一些参数,为可选项
when 规则条件部分,默认为true
then 规则的结果部分
end 规则结束

绑定变量

由于在规则运行时可能需要绑定一些变量,而如果传递多个对象时候,如何进行一一绑定呢?那么该功能就出现了

rule "pattern-demo"
    when
      /**表示要符合才会执行**/
      $p1:Person(name=="小米") $p2:Person(name=="小明")
    then
       System.out.println($p1);
       System.out.println($p2);
end

语法: [绑定变量名:Object(Field约束)]

上面的说明:将Person中名字为小米的赋值给$p1变量

逻辑计算

  • 逻辑计算 :+ - * /
  • 取余计算注意需要使用括号包裹:%
  • contains |not contains :是否包含
  • memberOf |not memberOf 是否为某个集合中的一员
  • matches |not matches 正则匹配

注释

  • 单行注释 //
  • 多行注释 /***/
原文地址:https://www.cnblogs.com/lonecloud/p/12344556.html