0

我不确定标志是否是合适的术语,但无论如何配置一个 swi-prolog 程序在查询完成时不输出真或假,而是简单地打印出程序中确定的另一条语句?

4

1 回答 1

1

有一种工具可以定制这种行为,但它可能会非常复杂。我自己没有玩过它,但查看手册和 Prolog 引导文件可能会对您有所帮助。

Prolog 有一个“顶层”,它是一段 Prolog 代码,用于控制 Prolog 命令行并执行在其上输入的目标。使用 SWI-Prolog,您可以指定一个替代顶层:

pl -t my_quiet_prolog

如果您my_quiet_prolog/0在启动时加载的文件中定义,例如在您的~/.plrc文件中。

默认顶层称为prolog/0. 这个源代码和默认 Prolog 环境的其他部分可以在/usr/lib/pl-5.6.36/boot(在我的 Cygwin 系统上;对你来说可能不同)中找到。查看toplevel.pl默认的顶层。消息“是”和“否”也在messages.pl.

您可以尝试覆盖消息,或者简单地复制顶层并对其进行修改以适合您。

于 2012-05-08T00:11:46.070 回答