您好,我是Prolog的初学者,我遇到了以下问题。 在这里,我有一个"数据库"这给了我关于学校时间表的信息 像这样的东西:
school(NameOfTeacher,([(Course,Day) ......]).
询问以下内容时
-? find(staff(NameOfTeacher,Course),Day)
答案应为Day = (the day the course takes place)
。我设法得到像Day = (Course,Day)
这样的答案,但这不是我想要的。有谁知道如何做到这一点?提前谢谢。
答案 0 :(得分:1)
请记住,Prolog统一是一种双向模式匹配,因此您可以使用它来创建和分解数据结构:
?- Pair = (maths,monday), (_,Day) = Pair.
Pair = (maths, monday)
Day = monday
Yes