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, halthalt 退出该计划。

然后,你的 Prolog 可执行文件可以执行此文件。确切的标志取决于 Prolog 系统。如果你正在使用 SWI Prolog:

$ swipl -q -l hello_world.pl 

这将产生输出 Hello, World!-q 标志会抑制通常在运行 swipl 时显示的横幅。-l 指定要加载的文件。