繁体   English   中英

在 Drools 中处理“无法解析为变量”

[英]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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM