1

Jess コードには、作業メモリ内の 2 つのファクトを変更したいルールがいくつかあります。

主張されている事実は次のとおりです。(assert (analysis (reasons $?c) (total ?t))))

reason$?cはマルチスロットであり、ルールで必要に応じてこのマルチスロットに追加したいと考えています。

例: ユーザーがアルコールを飲みすぎた場合、「安全でないアルコールを飲みすぎています」というテキストが必要です。multislot にフィールドとして追加されました(reasons $?c)。どうすればこのタスクを達成できますか。多くの調査を行い、いくつかの方法を試しましたが、正しく機能していません。

4

2 に答える 2

1

最善の方法ではないかもしれませんが、簡単です。

(defrule modify-something
?f <- (analysis (reasons $?c) (total ?t))))
=>
(modify ?f (reasons (create$ ?c "hey"))))
于 2014-03-12T18:55:09.467 に答える