SWI Prolog查询

SWI Prolog查询,prolog,Prolog,因此,如果我调用add(y)。它将创建plop(y,1),但当我调用add(y)时。再说一遍,为什么它不向中添加一个,所以它将是plop(y,2),因为没有X可以满足这个关系:X=X+1,并且规则失败。尝试Y是X+1,在那里断言(plop(Var,Y))。请不要完全改变这个问题。如果您有新问题,请使用ask question按钮提出新问题。 :- dynamic plop/2 add(Var):- retract(plop(Var,X))-> (X = X+1, asser

因此,如果我调用add(y)。它将创建plop(y,1),但当我调用add(y)时。再说一遍,为什么它不向中添加一个,所以它将是plop(y,2)

,因为没有X可以满足这个关系:
X=X+1
,并且规则失败。尝试
Y是X+1,在那里断言(plop(Var,Y))

请不要完全改变这个问题。如果您有新问题,请使用
ask question
按钮提出新问题。
:- dynamic plop/2
add(Var):-
    retract(plop(Var,X))->
    (X = X+1, assert(plop(Var,X)));
    (assert(plop(Var,1))).