Hello World
Hello,World in the interactive interpreter
打印 Hello World!
在 Prolog 解释器中(这里我们使用 swipl
,SWI Prolog 的 shell):
$ swipl
<...banner...>
?- write('Hello, World!'), nl.
?-
是系统提示符:它表示系统已准备好供用户输入必须以 .
(句号)终止的目标序列 (即查询 )。
这里查询 write('Hello World!'), nl
有两个目标:
write('Hello World!')
:'Hello World!'
必须显示和 (,
)- 必须遵循一条新线(
nl
)。
write/1
(/1
用于表示谓词采用一个参数), nl/0
是内置谓词 (该定义由 Prolog 系统预先提供)。内置谓词提供了纯 Prolog 定义无法获得的功能,或者使程序员无需定义它们。
输出:
Hello World!
是
以 yes
结尾意味着查询已成功。在某些系统中,打印 true
而不是 yes
。
你好,来自一个文件的世界
打开一个名为 hello_world.pl
的新文件并插入以下文本:
:- initialization hello_world, halt.
hello_world :-
write('Hello, World!'), nl.
initialization
指令指定在加载文件时应调用目标 hello_world, halt
。halt
退出该计划。
然后,你的 Prolog 可执行文件可以执行此文件。确切的标志取决于 Prolog 系统。如果你正在使用 SWI Prolog:
$ swipl -q -l hello_world.pl
这将产生输出 Hello, World!
。-q
标志会抑制通常在运行 swipl
时显示的横幅。-l
指定要加载的文件。