1

CLIPS は私にとってまったく新しいものです。この言語を 2 日間深く掘り下げようとしました。ある質問が頭に浮かびました。つまり、(可能であれば) どうすれば新しいルールを動的に作成/追加できますか? たとえば、次のように sth を実行したいと思います。

(deftemplate action
 (slot prev)
 (slot curr)
)

(defrule test
   (action (prev ?p))
 =>
   (defrule test_inner
       (action (curr ?p))
     =>
       (printout t "Result of a newly created rule.")
    ) 
)

これらのルールのロジックには特に注意を払わないでください。これは単なる例です。上記のコマンドを呼び出すと、次のように表示されます。

[EXPRNPSR3] Missing function declaration for defrule.

ERROR:
(defrule MAIN::test
   (action (prev ?p))
   =>
   (defrule

このエラーはコマンド構文の問題ですか、それとも新しいルールを「動的に」定義できませんか?

4

1 に答える 1