【问题标题】:SWI Prolog querySWI Prolog 查询
【发布时间】:2012-12-10 03:16:54
【问题描述】:
:- dynamic plop/2
add(Var):-
    retract(plop(Var,X))->
    (X = X+1, assert(plop(Var,X)));
    (assert(plop(Var,1))).

所以如果我调用 add(y)。它会创建 plop(y,1) 但是当我调用 add(y) 时。再次为什么它不加一个所以它会是 plop(y,2)

【问题讨论】:

  • 请不要完全改变问题。如果您有新问题,请使用 按钮提出新问题。

标签: prolog


【解决方案1】:

因为没有 X 可以满足这种关系:X = X+1,因此规则失败。改用Y is X+1, assert(plop(Var,Y))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多