七周内出现七种语言的Prolog存在错误

七周内出现七种语言的Prolog存在错误,prolog,Prolog,我只是在七周内学习《七种语言》这本书 我已经使用命令port install gprolog devel在我的Mac计算机上安装了gprolog,并运行了第一个prolog代码 likes(wallace, cheese). likes(grommit, cheese). likes(wendolene, sheep). friend(X, Y) :- \+(X = Y), likes(X, Z), likes(Y, Z). 如果我在prolog解释器上键入likes(wallace,che

我只是在七周内学习《七种语言》这本书

我已经使用命令
port install gprolog devel
在我的Mac计算机上安装了gprolog,并运行了第一个prolog代码

likes(wallace, cheese).
likes(grommit, cheese).
likes(wendolene, sheep).

friend(X, Y) :- \+(X = Y), likes(X, Z), likes(Y, Z).
如果我在prolog解释器上键入
likes(wallace,cheese)。
,我就会出错

未捕获异常:错误(存在错误(过程,类/2),顶级/0)


Prolog 1.3.1无法安装在我的Mac中,我使用的是Prolog 1.4.0。

交互式gprolog解释器对加载的谓词列表运行查询,这就是为什么会出现
存在\u错误
异常。您必须将谓词加载到其中,要么使用IDE为您加载,要么手动加载

这里有一种方法:

| ?- [user].
compiling user for byte code...
likes(wallace, cheese).
likes(grommit, cheese).
likes(wendolene, sheep).

friend(X, Y) :- \+(X = Y), likes(X, Z), likes(Y, Z).

* Press Ctrl-D to end input. *
user compiled, 6 lines read - 909 bytes written, 15538 ms

yes
| ?- friend(wallace,grommit).

yes
| ?- friend(wallace,wendolene).

no

gprolog手册在章节

破解示例Grommit!中对此进行了说明!您还可以将谓词放入一个文件中并像
gprolog一样加载它——查阅文件“my_predicates.pl”
,然后gprolog解析该文件并随后进入交互模式