2015-02-19 2 views

ответ

2

Если x уже существует как факт, то утверждение его снова из действий правила было бы ненужным, но если вы хотите утверждать факт, указывающий, что x больше y, вы можете сделать это следующим образом:

CLIPS> 
(defrule greater-than 
    (x ?x) 
    (y ?y) 
    (test (> ?x ?y)) 
    => 
    (assert (x-is-greater-than-y))) 
CLIPS> (assert (x 4)) 
<Fact-1> 
CLIPS> (assert (y 1)) 
<Fact-2> 
CLIPS> (agenda) 
0  greater-than: f-1,f-2 
For a total of 1 activation. 
CLIPS> (run) 
CLIPS> (facts) 
f-0  (initial-fact) 
f-1  (x 4) 
f-2  (y 1) 
f-3  (x-is-greater-than-y) 
For a total of 4 facts. 
CLIPS> 
+0

Спасибо! Это работает для меня. –

Смежные вопросы