剪辑简单规则

  • 本文关键字:规则 简单 clips
  • 更新时间 :
  • 英文 :


有人知道为什么这样吗:

(defrule initx
      (declare(salience 90))
      =>
      (assert (blabla 10))
)
(defrule gigel
    (declare(salience 89))
      =>
      (printout t "test" crlf)
)

不工作?当我删除第一个规则时,它可以工作。谢谢。

你看到的行为是什么?无论 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> 

最新更新