计算机系统应用教程网站

网站首页 > 技术文章 正文

46-drools基础语法(关键字)(operator关键字)

btikc 2024-11-16 17:20:21 技术文章 1 ℃ 0 评论

接下来继续来学习de rose基础语法。接下来要学习的是关键字。其实都知道在编写代码的时候是不是就涉及到很多关键字?在规则文件当中也存在关键字,只不过de rose里边这些关键字是分成两类,一类叫做硬关键字,其实就是hard keywords和软关键字叫soft keywords。

这两类关键字有什么区别?是这样的,硬关键字是在规则文件中定义包名或者是规则名是不能使用的,否则成就会报错。也就是硬关键字是一定不能使用的,否则程序会报错。而软关键字其实是可以使用的,只不过是不建议使用。所以它是分成硬关键字、软关键字两类,硬关键字是绝对不能用的,如果用了程序都会报错。

接下来来看一下硬关键字比较少,就三个,一个是处,一个是force,还一个是闹。软关键字就比较多了,但是现在可能大家看的这些不太熟悉,这些有很多是什么?是在规则文件当中对应的一些属性。

后边随着讲规则属性的时候会发现lock on active、data effective等等这些其实都是对应的一些属性名。既然是属性就不建议把它定义成包名或者规则名称了,所以下边这些是不建议使用的。可以来演示一下,主要就是拿硬关键字来演示一下。

比如处force还有闹,这是这么三个硬关键字,刚才提到它是绝对不能用作规则名称的,但是在这需要强调一下,如果在这注意看入了后边,这是不是定义的是规则的名称?用的是一对双引号,这里边来写一个处行不行?注意这种写法其实是可以的。

因为什么?认为整个选中的这块字符串是规则的名称,所以这样其实是没有问题的。绝对不能用指的是这种写法,现在是不是已经开始报错了?所以可以来看一下,如果把它当成一个字符串来写,通过双引号给它引起来,这种写法其实是没有问题的。

可以来执行一下,随便来执行一个单元测试就可以,这个是不是还是通过了,没有报错。但是如果把规则的名称是这样来写的,这样来写,首先从这个地方是不是就已经较验的时候,规则文件较验的时候就已经报错了。同时再来执行一下单元测试,是不是已经开始报错了?开始报错了,所以这是硬关键字。

可能有的同学就说了,如果把它撤销回来,这种情况,因为现在写的这,这个并不是关键字,在这种情况下其实是可以把双引号去掉的。但是需要注意的是什么?因为双引号去掉了,为了能保证这个是整体,所以肯定就不能有空格了,比如通过下划线,这种其实是可以的。

重新再来执行一下单元测试,是不是还是可以正常执行?所以如果用的不是关键字,并且中间是不是没有空格?相当于是一个整体完整的字符串,这个时候其实没有双引号也是可以的,只不过是强烈建议大家在定义规则名称的时候尽量使用双引号,这种是比较规范的一种写法。

而且还有什么好处?就是刚才看到了如果双引号是不是自动能识别出来?规则名称是一个整体,所以即使这里边有空格也没有问题,其实是这种方式也没有问题,因为它是一个整体了,还是可以的。

这是刚才说了一下关键字,处force还有no这三个是都不能用的,比如在这改成no,这种也是不可以的。关于这些关键字就不再试了,因为关键字其实是可以使用的,但是只是不建议使用。因为下边看到的这些其实都是提前后边学习语法的时候就知道了,是一些属性,所以就不建议把它作为规则名称或者报名了。

这是关于关键字。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表