有关如何禁用列表截断的所有问题都有答案可以使用一些变量:
?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(100), priority(699)]).
对我来说这不起作用,请看这里:
?- length(L, 25).
L = [_7572, _7578, _7584, _7590, _7596, _7602, _7608, _7614, _7620|...].
?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(1000), priority(699)]).
true.
?- length(L, 25).
L = [_7596, _7602, _7608, _7614, _7620, _7626, _7632, _7638, _7644|...].
根据例如这个anwer,这应该有效:enter link description here
必须与我的Prolog版本有关。我正在使用SWI-Prolog version 7.4.2 for x86_64-darwin16.5.0
。有谁知道为什么这不适用于我的版本以及如何使其工作?
答案 0 :(得分:1)
您需要使用此命令:
set_prolog_flag(answer_write_options, [quoted(true), portray(true), max_depth(100), priority(699)]).
将toplevel_print_options
替换为answer_write_options
。