gpt4 book ai didi

java - 如何实例化 .drl 文件中的对象

转载 作者:行者123 更新时间:2023-11-29 08:02:53 25 4
gpt4 key购买 nike

我对这个 drools 员工是全新的。因此我在这里遇到了一些麻烦。

rule "Raise the alarm when we have one or more fires"
when
exists Fire()
then
insert( new Alarm() );
end

当我有这段代码时,它工作正常。但我想稍微改变一下:

rule "Raise the alarm when we have one or more fires"
when
exists Fire()
then
$alarm = new Alarm();
$alarm.RingBell();
insert( $alarm );
end

您可能明白我在这里要做什么。我想实例化 Alarm 类并触发它的 RingBell 方法。但它给了我这个错误

Rule Compilation error : [Rule name='Raise the alarm when we have one or more fires']
com/sample/Rule_Raise_the_alarm_when_we_have_one_or_more_fires_cd7449c70a6a48c78f4e291495d23b05.java (8:436) : alarm cannot be resolved

java.lang.IllegalArgumentException: Could not parse knowledge.
at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:117)
at com.sample.DroolsTest.main(DroolsTest.java:28)

如果你们能帮助我,我将不胜感激:))

最佳答案

错误是因为从未声明 $alarm 变量。尝试执行以下操作:

rule "Raise the alarm when we have one or more fires"
when
exists Fire()
then
Alarm $alarm = new Alarm();
$alarm.RingBell();
insert( $alarm );
end

重要的一行是:Alarm $alarm = new Alarm();

关于java - 如何实例化 .drl 文件中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13331871/

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