gpt4 book ai didi

swi-prolog - 如何在不按空格键的情况下查看 SWI-Prolog 中的所有答案?

转载 作者:行者123 更新时间:2023-12-04 14:22:18 27 4
gpt4 key购买 nike

简单的例子:

?- between(1,10,X).
X = 1 ;
X = 2 ;
X = 3 ;
X = 4 ;
X = 5 ;
X = 6 ;
X = 7 ;
X = 8 ;
X = 9 ;
X = 10.

当使用 SWI-Prolog 使用 REPL 查看下一个答案时,必须按下空格键。

如何在不按空格键的情况下将所有结果列出到屏幕上?

请注意类似的问题。

如果你通过搜索找到了这个问题,而你真正的问题是

I'm using SWI-Prolog and I'm trying to print a list but if the list has more than 9 items - it look like that -

[1, 15, 8, 22, 5, 19, 12, 25, 3|...] 

is there a way to show the whole list?



然后看这些问答:

SWI-Prolog - show long list
SWI-Prolog how to show entire answer (list)?

最佳答案

“hackish”解决方案是添加 print(X), nl, fail到电话。这里print(X)当然可以打印任何相关信息。例如 between(1,10,X), print(X), nl, fail .

这自 print/1 [swi-doc] 起有效只是打印传递给它的术语的另一个谓词。 nl/0 [swi-doc]将打印一个新行字符,和 fail/0 [swi-doc]总是失败。

因此,我们让 Prolog 提出解决方案,打印这些,打印新行,以及 fail将“激活”回溯机制,旨在寻找另一个再次打印并失败的解决方案。

最终所有解决方案都被打印出来,因此调用失败。这因此产生:

?- between(1,10,X), print(X), nl, fail.
1
2
3
4
5
6
7
8
9
10
false.

关于swi-prolog - 如何在不按空格键的情况下查看 SWI-Prolog 中的所有答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54245313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com