网站首页 > 技术文章 正文
接下来继续来学习de rose基础语法。接下来要学习的是关键字。其实都知道在编写代码的时候是不是就涉及到很多关键字?在规则文件当中也存在关键字,只不过de rose里边这些关键字是分成两类,一类叫做硬关键字,其实就是hard keywords和软关键字叫soft keywords。
这两类关键字有什么区别?是这样的,硬关键字是在规则文件中定义包名或者是规则名是不能使用的,否则成就会报错。也就是硬关键字是一定不能使用的,否则程序会报错。而软关键字其实是可以使用的,只不过是不建议使用。所以它是分成硬关键字、软关键字两类,硬关键字是绝对不能用的,如果用了程序都会报错。
接下来来看一下硬关键字比较少,就三个,一个是处,一个是force,还一个是闹。软关键字就比较多了,但是现在可能大家看的这些不太熟悉,这些有很多是什么?是在规则文件当中对应的一些属性。
后边随着讲规则属性的时候会发现lock on active、data effective等等这些其实都是对应的一些属性名。既然是属性就不建议把它定义成包名或者规则名称了,所以下边这些是不建议使用的。可以来演示一下,主要就是拿硬关键字来演示一下。
比如处force还有闹,这是这么三个硬关键字,刚才提到它是绝对不能用作规则名称的,但是在这需要强调一下,如果在这注意看入了后边,这是不是定义的是规则的名称?用的是一对双引号,这里边来写一个处行不行?注意这种写法其实是可以的。
因为什么?认为整个选中的这块字符串是规则的名称,所以这样其实是没有问题的。绝对不能用指的是这种写法,现在是不是已经开始报错了?所以可以来看一下,如果把它当成一个字符串来写,通过双引号给它引起来,这种写法其实是没有问题的。
可以来执行一下,随便来执行一个单元测试就可以,这个是不是还是通过了,没有报错。但是如果把规则的名称是这样来写的,这样来写,首先从这个地方是不是就已经较验的时候,规则文件较验的时候就已经报错了。同时再来执行一下单元测试,是不是已经开始报错了?开始报错了,所以这是硬关键字。
可能有的同学就说了,如果把它撤销回来,这种情况,因为现在写的这,这个并不是关键字,在这种情况下其实是可以把双引号去掉的。但是需要注意的是什么?因为双引号去掉了,为了能保证这个是整体,所以肯定就不能有空格了,比如通过下划线,这种其实是可以的。
重新再来执行一下单元测试,是不是还是可以正常执行?所以如果用的不是关键字,并且中间是不是没有空格?相当于是一个整体完整的字符串,这个时候其实没有双引号也是可以的,只不过是强烈建议大家在定义规则名称的时候尽量使用双引号,这种是比较规范的一种写法。
而且还有什么好处?就是刚才看到了如果双引号是不是自动能识别出来?规则名称是一个整体,所以即使这里边有空格也没有问题,其实是这种方式也没有问题,因为它是一个整体了,还是可以的。
这是刚才说了一下关键字,处force还有no这三个是都不能用的,比如在这改成no,这种也是不可以的。关于这些关键字就不再试了,因为关键字其实是可以使用的,但是只是不建议使用。因为下边看到的这些其实都是提前后边学习语法的时候就知道了,是一些属性,所以就不建议把它作为规则名称或者报名了。
这是关于关键字。
猜你喜欢
- 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 43-drools基础语法(比较操作符_memberof)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)