我从高中起就没有接触过 Prolog,即使我试图找到信息,也没有帮助。以下是必须说明我的问题的示例:
%% everybody():- [dana, cody, bess, abby].
%% Everybody = [dana, cody, bess, abby].
likes(dana, cody).
hates(bess, dana).
hates(cody, abby).
hates(X, Y):- \+ likes(X, Y).
likes_somebody(_, []):- fail.
likes_somebody(X, [girl | others]):-
likes(X, girl) ; likes_somebody(X, others).
likes_everybody(_, []):- true.
likes_everybody(X, [girl | others]):-
likes(X, girl) , likes_everybody(X, others).
maplist(likes_somebody, [dana, cody, bess, abby], [dana, cody, bess, abby]).
我如何声明everybody
只是女孩的名单?注释行是我尝试过的行,但我收到了奇怪的错误消息。
这是我到目前为止或多或少遵循的教程。我正在使用 GProlog,如果它有什么不同的话。抱歉问了这么一个基本问题。GProlog 的手册不涉及语言语法,但我确实看过那里。顺便说一句,我将不胜感激有关在哪里查找语言文档(而不是实现文档)的信息。