swi-prolog协议输出文件中的垃圾字符

时间:2013-11-10 23:44:23

标签: prolog swi-prolog

当我使用protocol('execution.txt').并输入一些查询时,我在输出文件中得到了一些乱码。有没有办法避免这些角色?

11 ?- beside(block2, X).
X = block3  [1m;[0m
[1;31mfalse.[0m

12 ?- beside(block4, X).
X = block7  [1m;[0m
X = block3  [1m;[0m
[1;31mfalse.[0m

13 ?- beside(block5, X).
[1;31mfalse.[0m

14 ?- above(block1,X).
X = block2  [1m;[0m
[1;31mfalse.[0m

15 ?- above(block2,X).
[1;31mfalse.[0m

16 ?- above(block6,X).
X = block5  [1m;[0m
X = block4  [1m;[0m
[1;31mfalse.[0m

17 ?- noprotocol.

1 个答案:

答案 0 :(得分:5)

这些字符是ANSI终端控制序列,用于突出显示错误等。要禁用它,请输入

?- set_prolog_flag(color_term, false).

在开始协议会话之前。要永久禁用,请将其作为指令放在首选项文件中。即在Unix中,放在〜/ .plrc

:- set_prolog_flag(color_term, false).

如果您使用XPCE EMACS,则可以从菜单

编辑首选项
Edit\Prolog preferences