初始化文件和目标
通过命令行参数,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 goal。这些目标会按顺序执行。每个目标留下的可能选择点都会被剪除。如果某个目标失败,执行会以退出状态 1 停止。如果某个目标引发异常,系统会打印异常,并以退出代码 2 停止进程。
可以使用 -q 抑制所有信息性消息,也会抑制初始化目标失败时通常打印的错误消息。
在 MS-Windows 中,也可以用定义了适当命令行参数的快捷方式实现同样效果。另一种常见做法是编写一个 run.pl 文件,内容如下。双击 run.pl 即可启动应用程序。
:- [load]. % load program
:- go. % run it
:- halt. % and exit
“使用 PrologScript”会讨论更多脚本选项;运行时章节会讨论运行时可执行文件的生成。运行时可执行文件是一种交付可执行程序的方式,运行它时不需要完整的 Prolog 系统。