2010-05-09 2 views
0

привет в клипах у меня есть этот шаблон:Клипы соответствие выражение не работает

(deftemplate cell(slot x)(slot y)(slot alive)) 

и этот факт:

(start 1 1) 

тогда у меня есть этот Клаус в LHS:

?start<-(start ?x ?y) 

и я хочу получить переменную ?a1

(cell (x (+ ?x 1))(y ?y)(alive ?a1)) 

кажется, что нельзя добавлять к переменной "(+ ?x 1)" так как я могу достичь того, чего хочу.

+2

Отметив разделы как код, используя кнопку «Пример кода», вы можете сделать свой пост более разборчивым. – Cerin

ответ

1
CLIPS> (deftemplate cell (slot x) (slot y) (slot alive)) 
CLIPS> 
(deffacts initial 
    (start 1 1) 
    (cell (x 2) (y 1) (alive yes))) 
CLIPS>  
(defrule example 
    (start ?x ?y) 
    (cell (x =(+ ?x 1)) (y ?y) (alive ?a1)) 
    => 
    (printout t "?a1 = " ?a1 crlf)) 
CLIPS> (reset) 
CLIPS> (run) 
?a1 = yes 
CLIPS> 
Смежные вопросы