我正在使用SICStus Prolog并拥有一系列事实:
student('John Henry', 'Maths').
student('Jim Henry', 'Maths').
student('John Alan', 'Maths').
student('Alan Smith', 'Computing').
student('Gary Henry', 'Maths').
Run Code Online (Sandbox Code Playgroud)
我想得到两个学生的共同主题,两个学生都不同,所以我得到了:
sharedSubject(S1, S2, Sub) :- S1 \== S2, student(S1, Sub), student(S2, Sub).
Run Code Online (Sandbox Code Playgroud)
但是,当我输入:
sharedSubject('John Henry', F, E).
Run Code Online (Sandbox Code Playgroud)
我得到F = 'John Henry'.有人可以指出我出错的地方以及我需要做什么吗?谢谢.