如果只是想体验一下 Prolog 的 “事实、规则和查询”,或者临时验证一段逻辑推理,还得专门去安装环境、配置交互终端,确实有些折腾。对初学者来说,代码还没写几行,可能就被繁琐的准备工作绕晕了。
这时候,直接使用咱们绿叶网的 Prolog 在线编译器就省事多了。打开网页就能写,写完直接看结果,非常适合新手边学边试,或者快速验证一小段独立的逻辑。
页面上方就是咱们的 Prolog 在线编译器。使用方式非常简单直接:写代码、运行、看结果,然后根据输出继续修改。
Ctrl + Enter 快捷键。我们来跑个小例子体验一下:先设定几条 “父子关系” 的事实,再写一条 “祖孙关系” 的规则,让 Prolog 根据已知条件自动推导结果。
parent(lisi, zhangsan).
parent(zhangsan, xiaoming).
parent(zhangsan, xiaohong).
grandparent(X, Z) :-
parent(X, Y),
parent(Y, Z).
main :-
findall(Person, grandparent(lisi, Person), People),
write(People),
nl.
:- initialization(main).运行结果如下。
[xiaoming,xiaohong]像这种短小精悍的测试代码,最适合用在线编译器来跑。随写随测,完全不需要费时费力去搭本地环境。
Prolog 在线编译器最适合 “小规模逻辑关系、马上验证” 的场景。它的思维方式和 C、Java、Python 很不一样,因此边写边运行往往比只看语法更容易建立感觉。
其中,它非常适合用于:

简单来说,Prolog 是一门主打 “逻辑推理” 的编程语言。

平时我们用其他语言(比如 C 或 Java)写代码,就像是在写一份详细的操作说明书:你要告诉电脑第一步干嘛、第二步干嘛,比如要自己写个循环,一步步去查 “谁是谁的爷爷”。
但在 Prolog 里,玩法完全变了,我们更像是一个布置线索的侦探。我们只需要干两件事:
然后,我们直接向它提问:“李四的孙子是谁?” 至于中间怎么搜索、怎么匹配,全交给 Prolog 自己去推理,这就是所谓的 “声明式编程”。所以,学习 Prolog 最大的乐趣在于 “换脑子”——从 “教电脑一步步怎么做”,变成 “告诉电脑规则是什么,让它自己找答案”。
一句话概括:Prolog 不是用来写网页或开发 App 的,它的主场在 “逻辑、规则与搜索推理” 。常见的应用场景有:

总而言之,今天我们学 Prolog,并不是说要用它去重写所有的项目,而是为了掌握一种截然不同的解题思路。下次当你遇到那些死磕规则、条件和逻辑推导的复杂问题时,你就会发现这套 “只描述关系” 的思维方式简直太香了。
小伙伴们刚开始学 Prolog,只要搞懂 “事实、规则、查询” 这 3 个核心词,就算摸到门道了。我们可以把它们想象成写逻辑推理题的三大要素:
写 Prolog 最大的思维转变在于:我们不再需要像写 C 或 Python 那样操心 “先循环什么、再判断什么”,只管把事实和规则列清楚,剩下的 “找答案” 工作全交给 Prolog 就行了。

这两个词听起来很高大上,但其实这是 Prolog 能 “自动推理” 的两大秘密武器:
![]()
如果小伙伴们习惯了 Java、Python 或是 C 语言,这里一定要特别留心,Prolog 的命名规矩正好反过来了:
举个例子:parent(lisi, X). 是在问 “具体人物李四(lisi)的孩子是谁(X)”。如果你手滑首字母大写,写成了 parent(Lisi, X).,那 Lisi 就变成了一个未知变量,整个意思就变成了 “谁是谁的父母”,逻辑完全变味了。
此外,单独一个下划线 _ 是非常实用的 “匿名变量”,意思是 “这儿有个东西,但我不在乎它是啥”。比如 parent(_, xiaoming),意思就是 “存在某个人是小明的父母”,至于这个人具体叫啥,不重要,不用记下来。
代码写得多了以后,鼠标点来点去多少有点慢。Prolog 在线编译器支持下面这些常用快捷键,小伙伴们先把几个高频的记住就够用了。
Ctrl + Enter:运行代码。Ctrl + Z:撤销、Ctrl + Y:重做。Ctrl + C:复制、Ctrl + V:粘贴。Ctrl + A:全选。Ctrl + X:剪切。Ctrl + /:注释或取消注释。Ctrl + Home:跳转到首行的行首。Ctrl + End:跳转到末行的结尾。其中最值得记住的还是 Ctrl + Enter。修改一条事实或规则后顺手运行一次,很快就能看到推理结果有没有发生变化。