を返すこの Prolog コードがあります: [[vincent,vincent],[vincent,marcellus],[marcellus,vincent],[marcellus,marcellus],[pumpkin,pumpkin],[honey_bunny,honey_bunny]]
.
:- initialization main.
loves(vincent, mia).
loves(marcellus, mia).
loves(pumpkin, honey_bunny).
loves(honey_bunny, pumpkin).
jealous(X, Y) :-
loves(X, Z),
loves(Y, Z).
main :-
findall([X, Y], jealous(X, Y), L),
write(L),
halt.
X != Y の場合にのみ結果を取得する方法は? 以前と同じ結果を得るために、次のコードを試しました。
jealous(X, Y) :-
X \== Y,
loves(X, Z),
loves(Y, Z).
で\=
、私は を得[]
ました。結果としてのみ取得する方法は[vincent,marcellus]
?