基本编程

加载文件

退出

注释, 结束

注释:/* */, 或行注释: %, 结束用"."来表示。

运行结果

术语

语句(clauses)包括事实(facts)或规则(rules)两类。

例如:dog(fido)是事实, animal(X):-dog(X)是规则。

在dog(fido)中,dog是谓词(predicate), fido是实参(argument).

在animal(X):-dog(X)中,X是变量(variable). Prolog通过问问题(query)来执行。

"?-"后面就是目标问题 (goal). 这里prolog会回答两种结果:true或false.

也可以带着变量问

变量用首字母大写的串来表示,事实首字母必须小写。

Prolog找到一个答案后,会回头重新找下一个答案, 多个答案用分号隔开。

有些内置的谓词可直接用作goal.

目标中可以含多个询问,用","隔开表示"与"的关系。

数据类型

数: 234, 23.4

字符串: 'Hello World', nl是回车换行

函数: likes(jack,rose)

变量: X,Y,Z

List: [a,[b,c,d],e,f]

有一些内置的常数,如:pi, e, inf.

操作符

操作符的定义

尽管一般是这么使用

但也等同于谓词:

常见的算术操作符有: +,-,*,/, //, ^,abs(X),max(X,Y),sqrt(X).

常见的逻辑操作符有:not, ";", ","

输入与输出

输入:

运行结果是

又如

运行结果是

输出: write

输出ASCII码:

List与字符串操作

读取每一项

内置谓词

字符串与List的转换

借助List操作实现字符串操作