1

エラーが発生します

バインディング内で変数を使用することはできません

以下の Drools-Rule Code について

rule "minGapsBetweenAppointments"
when
    $leftAssignment : AppointmentRequest(feasibleAppointment != null)
    $totalValue : Number( ) from accumulate(
            AppointmentRequest(feasibleAppointment != null,
                    $leftAssignment.requestId != requestId,
                    $quality : this.getOccupiedSurroundingsValue($leftAssignment)),
            sum( $quality )
            ) // ERROR LINE
then
    scoreHolder.addSoftConstraintMatch(kcontext, $totalValue.intValue());
end

別の質問からこの投稿を見つけましたが、関連しているため、他のすべての AppointmentRequests に対して関数getOc​​cupiedSurroundingsValueを呼び出す必要があるため、あまり役に立ちません。

どんな助けでも感謝します。

4

1 に答える 1

0

そのコードは機能するはずです。私が見る限り、それには何の問題もありません。実行しているコードとまったく同じかどうかを再確認してください。私の例とそれらの作品で同様のコードを使用しています。

問題がなければ、Drools Expert のバグである可能性があります。続行するには 2 つの方法があります。

  • 簡単な方法: この質問をdrools メーリング リストに再投稿してください。Edsonや Wolfgang が私が知らない何かを見つけている可能性があります。ユーザーのミスが見られない場合は、jira を投稿してください。

  • 問題を解決する最速の方法は、ケースを証明する新しいテストをMiscTestで作成し、それをプル リクエストとして送信することです。あなたが間違っていることを見つけるか、疑いの余地なく、できるだけ早く修正する必要があるバグがあることを証明します:)

于 2013-08-16T13:11:41.163 に答える