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 回答