Drools规则引擎(2)

约束链接:对于对象内部的多个约束的链接,可以采用“&&”(and)、“||”(or)和“,”(and)来实现,表面上看“,”与“&&”具有相同的含义,但是有一点需要注意,“,”与
“&&”和“||”不能混合使用,也就是说有“&&”或者“||”出现的LHS当中,是不可以有“,”连接符出现的,反之亦然。

  1. 比较操作符:共计12种:

= < <= == != contains not contains membersof not membersof matches not matches
(1)Contains:比较操作符contains是用来检查一个Fact对象的某个字段(该字段要是一个Colletion或者是一个Array类型的对象)是否包含一个指定的对象。contains 只能用于对象的某个Colletction/Array类型的字段与另外一个值进行比较,作为比较的值可以是一个静态的值,也可以是一个变量(绑定变量或者一个global对象)
示例:
package test
rule “rule1”
when
$order:Order();
$customer:Customer(age >20,orders contains o r d e r ) ; t h e n S y s t e m . o u t . p r i n t l n ( order); then System.out.println( order);thenSystem.out.println(customer.getName());
end
(2)Not contains" 与contains相反
Member of:用来判断某个Fact对象的某个字段是否再一个集合(Collection/Array)当中,用法与contains有些类似,但也有不同,members of前端是某个数。
示例:
package test
global String[] orderNames;
rule “rules1”
when
o r d e r : O r d e r ( n a m e m e m b e r o f o r d e r N a m e s ) ; t h e n S y s t e m . o u t . p r i n t l n ( order:Order(name memberof orderNames); then System.out.println( order:Order(namememberoforderNames);thenSystem.out.println(order.getName());
End

  1. Not member of : 与memberof 作用相反。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值