我有一个序言程序,其中包含一些谓词,当我查询其中一个谓词时,它会显示真实输出,但不会放置“。”最后转到下一个查询。 ChatGPT 甚至无法理解这个问题,我想不出有什么可做的 可能是什么问题? (我无法分享我的代码) 谓词在里面调用一个递归谓词,结果正确 我明白
1 ?- predicate(1,2,A,B).
A=1,
B=2
代替
1 ?- predicate(1,2,A,B).
A=1,
B=2.
2 ?-
顶层不打印点
.
,因为还剩下一些选择点,在回溯时会尝试找到另一个解决方案。
按
<enter>
或 ;
让 prolog 引擎尝试寻找另一个解决方案,或按 <esc>
或 .
取消进一步搜索其他解决方案。
如果您想在搜索第一个解决方案后自动停止,请将查询包装在
once
目标上,如下所示:
?- once(predicate(1,2,A,B)).
A = 1,
B = 2.