Prolog 起步

17 Mar 2025 | 阅读 2 分钟

Prolog 系统很简单。 对于不同的人,Prolog 的确切细节会有所不同。 Prolog 将在开始时产生多行标题,然后是一行。 它只包含

?-

上面的符号显示了系统提示符。 提示符用于显示 Prolog 系统已准备好为用户指定一个或多个目标序列。 使用句点,我们可以终止目标序列。

例如

?- write('欢迎来到 Javatpoint'),nl,write('Prolog 示例'),nl.

nl 表示“开始新行”。 当我们按下“return”键时,上面的行将显示如下效果

欢迎来到 Javatpoint

Prolog 示例

?- prompt 显示用户输入的目标序列。 用户将不会输入提示。 Prolog 系统将自动生成此提示。 它的意思是它已准备好接收目标序列。

上面的例子显示了用户输入的目标序列,如下所示

write('欢迎来到 Javatpoint'), write('Prolog 示例'), nl(两次)。

考虑以下目标序列

write('欢迎来到 Javatpoint'),nl,write('Prolog 示例'),nl.

上面的目标序列必须成功才能成功。

  • write('欢迎来到 Javatpoint')
    在用户的屏幕上,必须显示“欢迎来到 Javatpoint”
  • nl
    在用户的屏幕上,必须输出一个新行
  • write('Prolog 示例')
    在用户的屏幕上,必须显示“Prolog 示例”
  • nl
    在用户的屏幕上,必须输出一个新行

所有这些目标都将通过 Prolog 系统将文本行输出到用户的屏幕上来实现。 为了表明目标已经成功,我们将输出yes

Prolog 系统预定义了 nlwrite 的含义。 Write 和 nl 被称为内置谓词。

Haltstatistics 是另外两个内置谓词。 在几乎所有 Prolog 版本中,都提供了这些谓词作为标准。

  • ?- halt.
    上面的命令用于终止 Prolog 系统。
  • ?- statistics.
    此命令将导致 Prolog 系统统计数据。 此统计功能主要用于有经验的用户。 在统计数据中,将生成以下内容
Starting Prolog

上面的输出以 Yes 结尾。 Yes,指定目标已成功,就像 halt、statistics 和许多其他内置谓词一样。 当它们被计算时,它们的值会产生,这在于副作用。

'查询' 是一个或多个目标的序列。 这些目标由用户在提示符处输入。 在本教程中,我们通常使用“目标序列”一词。


下一主题Prolog 程序