1. Prolog 语法

语法这个词从口中说出来有点生涩陌生,甚至不时让我回忆起高中在操场背3500个英语单词的日子。

要是你也这么想,大可放轻松,下面没有那些有的没的,我们直击主题,就看看这个prolog程序应该怎么写。

注意,这里均是基于swipl风格的代码。swipl是prolog方言的一支,比较友好除了基本的prolog谓词演绎,还省去了很多啰嗦的定义规范,同时还有不少好用的库

refer: wikipedia

2. 基本语法

相爱(张学友,王菲).
相爱(张学友,周慧敏).
相爱(王菲,谢霆锋).
相爱(周慧敏,张学友).
相爱(谢霆锋,王菲).
相爱(谢霆锋,周慧敏).
相爱(刘德华,周慧敏).

爱人(X,Y):- 
    相爱(X,Y),相爱(Y,X).

抛开定义和更高阶的用法,prolog程序就只有两个部分:

  • 事实 Facts
  • 规则 Rules

在之后的学习中,你肯定会慢慢觉察到一个关于prolog的事实
事实即规则,规则亦事实
这里分开解释是为了符合正常逻辑,更好理解
(当然在 prolog 中事实可以看做是一种特殊规则的语法糖

3. 数据类型

Copyright © zhzluke96 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-07-05 10:51

results matching ""

    No results matching ""