【发布时间】:2014-02-15 17:26:11
【问题描述】:
MY 规则条件和动作定义如下。我收到编译错误。在规则条件下,我将左右值指定为“abc”和“xyz” 哪些值存储在 Me 对象的 MAP 中。当我在操作部分使用 me.getVariableValues('abc') 时,它工作正常。但当 我想在条件下使用相同的 me.getVariableValues('abc') 然后我遇到编译错误。
创建规则包时出错 - [139,0]: unknown:139:0 mismatched token: [@463,2378:2383='me',,139:0];期望类型 RIGHT_PAREN[140,37]: 未知:140:37 意外令牌')'[140,39]:未知:140:39 意外令牌'abc'
规则“规则”
什么时候
我:我()
getValue(me.getVariableValues(),${condition.leftVariableCode}) ${condition.operator} getValue(me.getVariableValues(),${condition.rightVariableCode})
然后
me.addVariableValue("$action.output.variableCode", me.getVariableValue("$action.firstInput.VariableCode") $action.operator me.getVariableValue("$action.secondInput.VariableCode"));
结束
【问题讨论】:
-
以“getValue”开头的完全错误的语法。它看起来像一些模板代码。 - 你想做什么?
-
您好,Laune,感谢您的即时回复,我正在尝试根据规则中定义的条件比较地图中的值。 DRL 字符串生成在速度文件中定义。地图保存在内存中,我想要地图的两个值。请让我知道给我示例代码两个比较地图中的两个值。
-
如图所示的 DRL 代码完全损坏。地图在哪里? Me类是如何定义的?
-
这是我的类 public class Me{ // 变量详细信息 Map
variableValues = new HashMap (); public Map getVariableValues() { return variableValues; } public void addVariableValue(String variableCode, Integer count){ if (count
标签: drools