Drools之关键字及错误信息
一、关键字说明
Drools规则引擎有硬关键字和软关键字之分。
硬关键字为被保留,命名相关定义时,如对象、属性、方法、函数和应用于规则文本中的其他元素,编辑规则内容时不能使用硬关键字作为命名规范。硬关键字主要包括true、false、null。
编写规则时,一定要注意软关键字不像硬关键字那么强制,软关键字相比硬关键字要多,如果非要使用软关键字作为命名是没有问题的。
软关键字有:lock-on-active、date-effective、date-expires、no-loop、auto-focus、activation-group、agenda-group、ruleflow-group、entry-point、duration、package、import、dialec、salience、enabled、attributes、rule、extend、template、query、declare、function、global、eval、not、in、or、and、exists、forall、action、reverse、result、end、init等。
DRL语言的另一个改进是可以在规则文本中转移硬关键字。这个功能可以在编辑规则内容时减少使用关键字所带来的语法错误。编写规则内容时只需将当前关键字进行转义即可,如Holiday(‘when’==”july”),只需”‘“符号括起来就可以解决语法错误问题。
规则内容的任何地方都可以使用转义,但不包含LHS或RHS代码块中表达参数的代码。
二、错误信息
Drools5以后引入了一个标准化的错误信息。标准化的目的在于更快、更容易帮助用户发现和解决问题。
1st Block:指错误代码。
2nd Block:指行列。
3rd Block:描述问题。
4th Block:指发生错误的规则名、函数、模板、查询等。
5th Block:指发生错误的pattern。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述