网站首页 > 技术文章 正文
接下来继续来看比较操作符。刚才演示了一下content以及notcontent,一个是包含,一个是不包含。再往下要看的是memberof以及notmemberof。在这要测试的是比较操作符,叫做memberof。把规则写一下,规则的名称稍微修改一下,改成memberof。后边是不是写when,最后是and。
这个部分当时提过叫做l、h、s,n部分是不是叫做r、h、s。在这一部分应该怎么写?其实跟前面写法非常类似,把它拿过来。
·首先进行类型匹配,到工作内存里面去找这种类型的元素,并且这里边要测试的是numberof,代表的就是前面值必须是后边值的成员。比如这里边是不是有个内慕斯属性,要numberoflist。还记得在这个类里边是不是一个内用词属性,它是个词ging的,还有个list属性,它是这种集合类型的。
·现在这个表达式的含义是什么?就是必须要到工作内存里面去查找这么一种类型的元素,并且它的内慕斯属性要什么?要是历史的集合里边的一个成员,慢慢饿不饿?如果能够匹配成功,是不是就要执行这个部分?在这个部分现在也没什么好做的,所以就直接输出了一下。
·把这块输出一下规则,哪个规则?把规则的名称改造一下,改成这个。如果在控制台能够看到这句话,就说明这个规则是成立了。这个规则非常简单,就已经编写完了。
·重点就是来看一下numberof的用法。接下来来执行一下刚才编写的test2单元测试,但是在执行之前先来分析一下,就拿当前给进去的值来看,当前刚刚编写的规则能够触发吗?就看内慕斯是不是这个类似的元素?next是不是给的是李四?而这个list里边只有一个元素是张三二,很明显是不是应该不会成立?
·现在来执行一下,来看控制台。大家注意看控制台输出的是notcontent,因为刚才测试过了,是不是上面规则出发了,下边规则是不是并没有出发?现在如果希望下边规则出发怎么办?是不是意味着name四必须是list的元素lift是不是李四?立四里边是不是加一个李四进去就可以了?立四的点add什么?李四。这样names是不是就是list的元素了?这样后边规则应该就可以出发了。
·number of这个时候是不是就触发了?这是刚才测试了一下member of,同时再来复制一段来加一个not member of,想测试的是not member of,把这儿是不是给加一个note就可以了?注意中间是有空格的,别连一块儿写。
·然后在这儿来个note number of,就是不包含,不包含就意味着names应该不是list的成员变量。当前很明显这不是李四,这有一个李四,所以是它的成型变量。刚刚编写的最后一个规则应该是不能成立的,是不是并没有触发?如果想让它触发就可以怎么做?把这个是不是给注视起来?注视起来是不是意味着names并不是list的成员?这样规则是不是就模式是不是就匹配上了?匹配上之后规则是不是就会触发?
·member of当然了,因为代码改回去了,原先not member of也出发了,前面已经讲过了,就不再多说了。重点关注的是后边not member of是不是就出发了?所以通过控制台输出也能够看到,当在执行规则引擎的时候有可能有多个规则是不是同时都执行?因为都匹配到了,所以并不是只有一个规则能执行。
如果所有的规则都能够匹配成功,都可以触发,就是可以同时触发多个规则,这都是可以的。刚才主要就是讲了一下member of以及not member of这两个比较操作符。
猜你喜欢
- 2024-11-16 drools的类型声明(Type declarations)
- 2024-11-16 规则引擎drools-实战个人所得税计算器
- 2024-11-16 基于 Flink 和 Drools 的实时日志处理
- 2024-11-16 开源、强大的工作流引擎:camunda入门介绍
- 2024-11-16 53-SpringBoot整合Drools_2(springboot整合zuul)
- 2024-11-16 开启灵活开发编码模式:规则引擎drools——LHS部分
- 2024-11-16 AI应用企业落地方法论:践行财务共享AI审单项目
- 2024-11-16 开启灵活开发编码模式:规则引擎drools——RHS部分
- 2024-11-16 开启灵活开发编码模式:规则引擎drools——高级语法global
- 2024-11-16 Google Aviator——轻量级 Java 表达式引擎实战
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)