剪辑匹配表达式无效

时间:2010-05-09 11:25:17

标签: expert-system clips

你好在剪辑我有这个模板:

(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)"中 我能实现我想要的吗?

1 个答案:

答案 0 :(得分: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>