Syntax 带有基本drools语法的建议

Syntax 带有基本drools语法的建议,syntax,drools,Syntax,Drools,以下是drools的基本语法: $customer : Customer( ) Account( ) from $customer.accounts 据我所知,第一行创建一个新变量并将其分配给事实。 然而,我不能完全理解第二行,尤其是“Account()”部分的意思…您已经编写了类Customer,或者必须知道它才能理解这里发生了什么。它可能包含一个集合accounts(请参见注释),该集合(由引擎)逐个检索,以便为客户对象中包含的每个Account对象触发规则 对于工作内存中所有客户事实中包

以下是drools的基本语法:

$customer : Customer( )
Account( ) from $customer.accounts
据我所知,第一行创建一个新变量并将其分配给事实。
然而,我不能完全理解第二行,尤其是“Account()”部分的意思…

您已经编写了类Customer,或者必须知道它才能理解这里发生了什么。它可能包含一个
集合
accounts(请参见注释),该集合(由引擎)逐个检索,以便为客户对象中包含的每个Account对象触发规则

对于工作内存中所有客户事实中包含的任何集合中存储的每个Account对象,该规则将触发一次,
$Customer
将绑定到所包含的客户

您可以将另一个变量绑定到Account


注意:它也可以包含一个字段
账户
,但我希望名称的选择是谨慎的。

首先感谢您的回答。我的主要问题仍然是写“Account()”时会发生什么?它返回没有分配给任何变量的帐户实例?正如所写,
Account()
只是“匹配”了另一个帐户,并且表示应该为此触发规则。除非绑定(如我所写)另一个变量,否则您无权访问此对象。