初始化文件和目标

使用命令行参数(参见第 2.4 节),可以强制 SWI-Prolog 加载文件并执行查询以进行初始化或非交互式操作。最常用的选项是 -f file 或 -s file,用于使 Prolog 加载文件,-g goal 用于定义初始化目标,-t goal 用于定义顶级目标。以下是直接从命令行启动应用程序的典型示例。

machine% swipl -s load.pl -g go -t halt

它告诉 SWI-Prolog 加载 load.pl,使用入口点 go/0 启动应用程序,并在完成 go/0 后退出 --- 而不是进入交互式顶层 ---。

命令行可能有多个 -g 目标出现。目标按顺序执行。各个目标的可能选择点被删减。如果目标失败,执行将以退出状态 1 停止。如果目标引发异常,则打印异常并以退出代码 2 停止进程。

-q 可用于抑制所有信息消息以及初始化目标失败时通常打印的错误消息。

在 MS-Windows 中,可以使用具有适当定义的命令行参数的快捷方式来实现相同的目的。一种常见的替代方法是编写一个文件 run.pl,其内容如下所示。双击 run.pl 将启动应用程序。

:- [load].                      % load program
:- go.                          % run it
:- halt.                        % and exit

2.11.1.1 节讨论了更多脚本选项,第 14 章讨论了运行时可执行文件的生成。运行时可执行文件是一种不需要 Prolog 系统即可交付可执行文件的方法。