我有这样一条规则maxNumConsecutiveCubicCustomersPerLocation
:
Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap)
我要做的就是用键entry
(这是一个枚举类型)检索$consecAndWaitingMap
的{{1}}。
在规则的$location
部分中,我可以像这样then
轻松打印条目,但是我可能不绑定它:
System.out.println($location+": "+$consecAndWaitingMap.get($location));
给出的编译时间错误:
$consec: $consecAndWaitingMap.get($location)
我已经导入了所有必需的类(Unable to resolve ObjectType '$consecAndWaitingMap.get'
),所以这不是问题。其他解决方法,例如修复import java.util.Map; import ...Customer;
,或通过$location
进行访问,或先绑定到[]
,然后使用Customer
检索地图,都会出现类似的错误。
如何绑定到consecAndWaitingMap: HashMap() from $customer.getConsecAndWaitingMap()
?如果不可能,有什么解决方法的想法吗?
答案 0 :(得分:1)
您可以将条目与其他变量绑定在同一行。以下代码应该可以工作:
Customer(..., $location: location, $consecAndWaitingMap: consecAndWaitingMap, $mapEntry : consecAndWaitingMap.get(location))
请注意,在绑定新变量时不能使用其他变量,需要使用实际的“位置”字段。 (将“ location”替换为“ $ location”会产生错误)