' in rule "-6ren"> ' in rule "-我正在使用 Drools 创建决策表,但遇到了大于字符 ('>') 的问题。我在流口水文档中看到您可以使用“>”和“| |持续时间| |50| |200| 问题是架构不允许我获得完整的对象。我只能从 -6ren">
gpt4 book ai didi

java - Drools 决策表, "mismatched input ' >' in rule "

转载 作者:行者123 更新时间:2023-11-30 08:48:41 26 4
gpt4 key购买 nike

我正在使用 Drools 创建决策表,但遇到了大于字符 ('>') 的问题。我在流口水文档中看到您可以使用“>”和“<”,但我似乎弄错了。

专栏是(我还没有足够的声誉来发布图片):

  • |条件|
  • | | (空单元格)
  • |持续时间>|
  • |持续时间|
  • |50|
  • |200|

问题是架构不允许我获得完整的对象。我只能从 RemoteObject 中获取一些字段。所以我能做的是:

Integer duration = getRemoteObjectDuration();
kSession.insert(duration);
kSession.fireAllRules();

结果是:

[6,2]: [ERR 102] Line 6:2 mismatched input '>' in rule "RuleTable_11"
[14,2]: [ERR 102] Line 14:2 mismatched input '>' in rule "RuleTable_12"
[0,0]: Parser returned a null Package

我可以创建一个包含我的字段的虚拟对象,但必须有更好的事情要做。有人对此有想法吗?

最佳答案

要匹配一个整数,您可以使用类似

的规则
rule findInt
when
Integer( $iv: intValue > 42 )
then
System.out.println( "got an Integer > 42: " + $iv );
end

因此,电子表格列根据

CONDITION
Integer
intValue >
- ... -
42

当然,当您有多个 Integer 对象在工作内存中 float ,无法识别什么是什么时,这当然注定要失败。

对于你的困境,我会创建一个影子对象来保存远程对象的所有字段,而不是单独包装字段。

关于java - Drools 决策表, "mismatched input ' >' in rule ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31785747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com