我在 prolog 中有一个数据库,我想要做的就是枚举它的元素并一一打印。如何才能做到这一点?

fact(is(mike,asthmatic)).
fact(has(andy,highPressure)).
fact(is(mike,smoker)).

我写了这个,它工作正常,但它从数据库中删除了元素,所以我想在不删除的情况下访问它们。
print:-
  retract(factA(P)),
    write(factA(P)),nl,
    fail.
  print.

最佳答案

您也可以考虑使用 forall/2 谓词:

print:-
 forall(fact(P), writeln(P)).

关于prolog - 如何在 prolog 中打印所有数据库事实,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8510701/

10-12 15:54