这个答案直接跟进之前的这个答案 https://stackoverflow.com/a/34893466/4609915作者:@danielp。
随着序言顶层 /questions/tagged/prolog-toplevel of swi-prolog /questions/tagged/swi-prolog你可以选择其中之一:
显示所有变量的答案替换(default)
不显示变量的答案替换,例如_A
有关详细信息,请阅读您所使用的 Prolog 处理器的手册!
For SWI http://www.swi-prolog.org/pldoc/doc_for?object=root: 环境控制(Prolog 标志) http://www.swi-prolog.org/pldoc/man?section=flags.
current_prolog_flag/2 http://www.swi-prolog.org/pldoc/doc_for?object=current_prolog_flag/2.
set_prolog_flag/2 http://www.swi-prolog.org/pldoc/doc_for?object=set_prolog_flag/2.
stefan@Lenovo ~ $ swipl
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.3.15)
...
?- current_prolog_flag http://www.swi-prolog.org/pldoc/doc_for?object=current_prolog_flag/2(toplevel_print_anon http://www.swi-prolog.org/pldoc/man?section=flags, Flag). % get default
Flag = true.
?- _A = 1.
_A = 1.
?- _A = 1, X = _A.
_A = X, X = 1.
?- set_prolog_flag http://www.swi-prolog.org/pldoc/doc_for?object=set_prolog_flag/2(toplevel_print_anon, false). % toggle flag
true.
?- current_prolog_flag(toplevel_print_anon, Flag).
Flag = false.
?- _A = 1. % watch out!
true.
?- _A = 1, X = _A.
X = 1.
?- set_prolog_flag(toplevel_print_anon, true). % restore flag
true.
?- current_prolog_flag(toplevel_print_anon, Flag).
Flag = true.
?- _A = 1.
_A = 1.
?- _A = 1, X = _A.
_A = X, X = 1.