我正在学习Java和Drools,这样我就可以编辑现有的代码基了,我已经遇到了一些语法,我认为只是分配了一个变量/对象,但是我不确定,在我错误地应用和依赖它之前,我希望有一些清晰和洞察力。
RULE "Rule1"
WHEN
result : Result()
policy : Policy()
THEN
logger.info("Running Rule1");
retract(result);
END这是我不确定的"xxx : xxx()“位。我尝试搜索,但最终得到了静态声明等。
它是否与"xxx = new ();“或"xxx : xxx();”相同?
我以前的编程经验是用PHP和C#编写的,谢谢。
发布于 2017-02-22 15:27:19
模式元素是最重要的条件元素。它可以潜在地匹配插入到工作记忆中的每一个事实。
模式包含零或多个约束,并具有可选的模式绑定。
patternBinding 模式类型( constraints )
在最简单的形式中,没有约束,模式与给定类型的事实相匹配。在以下情况下,类型为Person,这意味着模式将与工作内存中的所有Person对象匹配:
Person()对于匹配的对象,使用模式绑定变量(如$p )(“$”不是强制性的,只是约定)。
$p: Person()属性可以绑定到变量:
Person( $firstAge : age ) // binding请注意,“绑定”不是“赋值”;“绑定变量”不是C#或PHP中所称的“变量”。
https://stackoverflow.com/questions/42388622
复制相似问题