Sublime构建错误的SWI-Prolog插件

时间:2013-10-29 01:01:46

标签: prolog swi-prolog sublimetext3

我知道这是一个有点愚蠢的问题,但我现在真的很绝望,因为我无法找到构建它的方法。我总是得到这个错误

ERROR: call/2: Undefined procedure: main/1
ERROR:   However, there are definitions for:
ERROR:         main/0

即使我尝试了

father(ahmad,samer).
father(ahmad,lolo).
father(ahmad,koko).


grandfather(X,Y):-
    father(U,X),
    father(Y,U).

main :- father(ahmad, X), writef('%t\n', [X]).

有人可以帮助我以正确的方式做到这一点吗?

1 个答案:

答案 0 :(得分:5)

对我来说效果很好。

只需输入main. 不要忘记.,否则它将无法运行。 这是我得到的

2 ?- main.
samer
true ;
lolo
true ;
koko
true.

true;键入{而不是按 Enter 按钮,如果要显示所有三个名称。如果按 Enter ,则只显示第一个名称。

从您的代码中我发现ahmad是父亲,所以关于grandfather查询,我认为我必须这样:

granfather(X,Y):- father(X,U),father(U,Y).

因为在father查询中,father位于左侧