-->

如何扩大在SWI-Prolog的一个结果列表?(How to expand a resulting

2019-07-21 02:54发布

?- length(L,25).
L = [_G245, _G248, _G251, _G254, _G257, _G260, _G263, _G266, _G
269|...].

如果我使用后的长度谓词写(L),然后解释器打印列表两次,一次扩大,其他没有。

Answer 1:

还有的深度,以防止过多长时间的输出限制。 你可以用set_prolog_flag / 1改变它。

?- length(L, 25).
L = [_G257, _G260, _G263, _G266, _G269, _G272, _G275, _G278, _G281|...].

?- current_prolog_flag(toplevel_print_options, V).
V = [quoted(true), portray(true), max_depth(10), priority(699)].

?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(100), priority(699)]).
true.

?- length(L, 25).
L = [_G257, _G260, _G263, _G266, _G269, _G272, _G275, _G278, _G281, _G284, _G287, _G290, _G293, _G296, _G299, _G302, _G305, _G308, _G311, _G314, _G317, _G320, _G323, _G326, _G329].

编辑:您还可以通过完全从选项列表中删除删除该限制。



文章来源: How to expand a resulting list in SWI-Prolog?