【发布时间】:2020-06-29 09:50:49
【问题描述】:
我正在尝试使用 pyswip 从 python 程序运行 prolog 查询。 假设我有一个这样的程序,
from pyswip import Prolog
p = Prolog()
p.retractall('rule1(_,_)')
p.retractall('rule2(_,_)')
p.retractall('rule3(_,_)')
p.assertz('rule2(X):- writeln(\'in rule2\': X)')
p.assertz('rule1(X,Y):- rule2(X), writeln(\'rule2 exectued\'),rule3(Y)')
p.assertz('rule3(Y):- writeln(\'in rule3\': Y)')
print(list(p.query('rule1(1,2)')))
现在我想要的是所有将在 prolog 中打印的 writeln 规则,我希望在 python 终端中打印。有什么办法吗?
【问题讨论】:
-
当前运行时它会做什么?
-
什么都不打印,空列表。输出:- [ { } ]
标签: python prolog ffi swi-prolog