修改多个事实

时间:2014-04-05 10:57:07

标签: jess

我如何减少所有事实(分数)?

我这样做:

(defrule decrementY 
        ?pto<-(point (y ?py))       
        (test (< ?py 3))
        =>  
        (modify ?pto (y (+ 1 ?py))))

1 个答案:

答案 0 :(得分:1)

基本上是正确的,但建议采用无循环。

(defrule decrementY 
    (declare (no-loop TRUE))
    ?pto<-(point (y ?py &: (< ?py 3) ))       
 =>  
    (modify ?pto (y (+ 1 ?py))))

如果你的意思是* de *创作,请使用

    (modify ?pto (y (- ?py 1))))