усечение списка: set_prolog_flag(toplevel_print_options, [max_depth(100)]) не имеет эффекта

На все вопросы о том, как отключить усечение списка, был ответ, чтобы использовать некоторые варианты этого:

?- 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|...].

Согласно, например, этому ответу, это должно работать: введите описание ссылки здесь

Это связано с версией моего Пролога. Я использую SWI-Prolog version 7.4.2 for x86_64-darwin16.5.0. Кто-нибудь знает, почему это не работает с моей версией и как заставить это работать?


person lo tolmencre    schedule 19.06.2017    source источник


Ответы (1)


Вместо этого вам нужно использовать эту команду:

set_prolog_flag(answer_write_options, [quoted(true), portray(true), max_depth(100), priority(699)]).

где заменено toplevel_print_options на answer_write_options.

person coder    schedule 19.06.2017