Java 带冒号的 Drools 对象分配?
Java Drools Object Assignment With a Colon?
我正在学习 Java 和 Drools,以便我可以编辑现有的代码库,我遇到了一些我认为只是分配 variable/object 的语法,但我不确定并且我'在我错误地应用和依赖它之前,我很欣赏它的清晰度和洞察力。
RULE "Rule1"
WHEN
result : Result()
policy : Policy()
THEN
logger.info("Running Rule1");
retract(result);
END
这是我不确定的 "xxx : xxx()" 位..
我尝试搜索,但最终得到的是静态声明等
它与"xxx = new xxx();"或"xxx : xxx();"相同吗?
我以前的编码经验是 PHP 和 C#,谢谢。
模式元素是最重要的条件元素。它可能匹配插入工作记忆中的每个事实。
模式包含零个或多个约束并具有可选的模式绑定。
[patternBinding :] 模式类型 ( [约束])
在没有约束的最简单形式中,模式匹配给定类型的事实。在以下情况下,类型为 Person,这意味着该模式将匹配工作内存中的所有 Person 对象:
Person()
要引用匹配的对象,请使用模式绑定变量,例如 $p。 (“$”不是强制性的,只是一种约定。)
$p: Person()
一个属性可以绑定到一个变量:
Person( $firstAge : age ) // binding
请注意 "binding" 不是 "assigning"; "binding variable" 不是 C# 中已知的 "variable" 或 PHP.
我正在学习 Java 和 Drools,以便我可以编辑现有的代码库,我遇到了一些我认为只是分配 variable/object 的语法,但我不确定并且我'在我错误地应用和依赖它之前,我很欣赏它的清晰度和洞察力。
RULE "Rule1"
WHEN
result : Result()
policy : Policy()
THEN
logger.info("Running Rule1");
retract(result);
END
这是我不确定的 "xxx : xxx()" 位.. 我尝试搜索,但最终得到的是静态声明等
它与"xxx = new xxx();"或"xxx : xxx();"相同吗?
我以前的编码经验是 PHP 和 C#,谢谢。
模式元素是最重要的条件元素。它可能匹配插入工作记忆中的每个事实。
模式包含零个或多个约束并具有可选的模式绑定。
[patternBinding :] 模式类型 ( [约束])
在没有约束的最简单形式中,模式匹配给定类型的事实。在以下情况下,类型为 Person,这意味着该模式将匹配工作内存中的所有 Person 对象:
Person()
要引用匹配的对象,请使用模式绑定变量,例如 $p。 (“$”不是强制性的,只是一种约定。)
$p: Person()
一个属性可以绑定到一个变量:
Person( $firstAge : age ) // binding
请注意 "binding" 不是 "assigning"; "binding variable" 不是 C# 中已知的 "variable" 或 PHP.