0

誰もがこれがなぜなのか考えていますか:

(defrule initx
      (declare(salience 90))
      =>
      (assert (blabla 10))
)

(defrule gigel
    (declare(salience 89))
      =>
      (printout t "test" crlf)
)

動かない?最初のルールを削除すると機能します。ありがとうございました。

4

1 に答える 1

0

あなたが見ている行動は何ですか?initx ルールが存在するかどうかに関係なく、gigel ルールの動作は同じです。

CLIPS> 
(defrule initx
  (declare(salience 90))
  =>
  (assert (blabla 10)))
CLIPS> 
(defrule gigel
  (declare(salience 89))
  =>
  (printout t "test" crlf))
CLIPS> (reset)
CLIPS> (run)
test
CLIPS> (facts)
f-0     (initial-fact)
f-1     (blabla 10)
For a total of 2 facts.
CLIPS> (clear)
CLIPS> 
(defrule gigel
  (declare(salience 89))
  =>
  (printout t "test" crlf))
CLIPS> (reset)
CLIPS> (run)
test
CLIPS> (facts)
f-0     (initial-fact)
For a total of 1 fact.
CLIPS> 
于 2012-05-20T22:41:59.113 に答える