我是 prolog 的新手,想将所有查询保存在一个文件中,而不是手动输入它们。
我有这些事实facts.pl
:
likes(wallace, cheese).
likes(grommit, cheese).
likes(wendolene, sheep).
friend(X, Y) :- \+(X = Y), likes(X, Z), likes(Y, Z).
在阅读了这个问题的答案后,我想出了以下代码queries.pl
:
main :-
write(likes(wallace, cheese)),
halt.
:- initialization(['facts.pl']).
:- initialization(main).
在这里,我想检查是否likes(wallace, cheese)
成立,我期望输出类似yes
orno
但实际输出是likes(wallace, cheese)
我用谷歌搜索了很多并尝试过
X = likes(wallace, cheese), write(X).
X is likes(wallace, cheese), write(X).
X := likes(wallace, cheese), write(X).
但它们都不起作用。
这对你来说可能是一个非常简单的问题,但我不知道如何把事情做好。
顺便说一句,我正在使用 GNU Prolog 1.4.1