2012-05-07 28 views
0

我不确定flag是否是合适的术语,但是有什么方法可以配置swi-prolog程序在查询完成时不输出true或false,而只是打印出程序中确定的另一个语句?如何关闭SWI-Prolog标志?

回答

1

有一种用于定制这种行为的功能,但它可能会涉及很多。我自己没有玩过,但看看手册和Prolog启动文件可能会对你有所帮助。

Prolog有一个“顶层”,它是一些Prolog代码,用于控制Prolog命令行并执行在其中输入的目标。如果您在启动时加载文件,例如定义my_quiet_prolog/0

pl -t my_quiet_prolog 

:随着SWI-Prolog的,你可以指定替代的顶级在您的~/.plrc文件中。

默认最高级别称为prolog/0。这个的来源以及默认Prolog环境的其他部分可以在/usr/lib/pl-5.6.36/boot(在我的Cygwin系统上;可能对您不同)中找到。查看toplevel.pl默认顶级。消息'是'和'否'也在messages.pl中定义。

您可以尝试覆盖消息,或者直接复制顶层并修改它以适应您。