在 Drools 中处理 'cannot be resolved to a variable'
Dealing with 'cannot be resolved to a variable' in Drools
我有以下规则
rule fpf_mdd_music_dans_drama salience 180
when
$reslist : List(size > 0) from collect (NvbQueryResults(control() in ("fpf_mdd_music_dans_drama_p1",
"fpf_mdd_music_dans_drama_p2")))
$qr : NvbQueryResults(control()== "fpf_mdd_r94_upf")
then
res = (NvbQueryResults)$reslist.get(0);
insert(new NvbQueryResults("fpf_mdd_music_dans_drama",res.count() + $qr.count()));
end
NvbQueryResults 看起来像这样
case class NvbQueryResults(control: String, count: Int = 0)
我的问题是当我尝试 运行 规则
时出现此错误
Rule Compilation error : [Rule name='fpf_mdd_music_dans_drama']
res cannot be resolved to a variable
res cannot be resolved
我不明白哪里出了问题,有人可以向我解释一下问题吗。
Drools 规则的右侧是常规 Java。在 Java 中,您不能在声明变量之前为其赋值。
NvbQueryResults res = $resList.get(0);
我有以下规则
rule fpf_mdd_music_dans_drama salience 180
when
$reslist : List(size > 0) from collect (NvbQueryResults(control() in ("fpf_mdd_music_dans_drama_p1",
"fpf_mdd_music_dans_drama_p2")))
$qr : NvbQueryResults(control()== "fpf_mdd_r94_upf")
then
res = (NvbQueryResults)$reslist.get(0);
insert(new NvbQueryResults("fpf_mdd_music_dans_drama",res.count() + $qr.count()));
end
NvbQueryResults 看起来像这样
case class NvbQueryResults(control: String, count: Int = 0)
我的问题是当我尝试 运行 规则
时出现此错误Rule Compilation error : [Rule name='fpf_mdd_music_dans_drama']
res cannot be resolved to a variable
res cannot be resolved
我不明白哪里出了问题,有人可以向我解释一下问题吗。
Drools 规则的右侧是常规 Java。在 Java 中,您不能在声明变量之前为其赋值。
NvbQueryResults res = $resList.get(0);