0

我有这样的规则 LHS

when 
    $location : Location() 
    $cabinets : ArrayList() from collect ( Cabinet() from $location.elements() )
then

当我在 RHS 中打印 @cabinets 的内容时,我看到它包含所有元素(还有那些不属于 Cabinet 类的元素)。

我只想从 $location>elements() 收集橱柜。

我做错了什么 ?

4

2 回答 2

-1

您的问题是关于“来自”模式,而不是“收集”模式。

以下规则应该有助于测试:

when 
  $location : Location() 
  $cabinet : Cabinet() from $location.elements()
then

这条规则应该针对所在位置的每个机柜触发。

您可以尝试在规则用户用户列表中发布您的问题

于 2009-04-29T11:24:14.650 回答
-1

我想你会说一些类似的东西

Cabinet(class == Cabinet.class)

我不认为 Drools 正在对 Cabinet 类进行显式类型检查,因为您有它们 afaik。

于 2009-04-29T11:12:43.320 回答