【发布时间】:2013-02-25 19:56:08
【问题描述】:
假设 Prolog 中有一个简单的人员数据库
person(john).
person(mary).
person(john).
person(susan).
我需要完全匹配一次:
john-mary, john-john, john-susan, mary-john, mary-susan, john-susan
我试着想出这样的东西:
match:- person(X),!,person(Y), write(X),write(-), write(Y),nl.
run:- person(X), match(X), fail.
但它匹配了很多次,并且匹配了一个人与他/她自己,这不应该。
基本上,我需要遍历所有 X 并使 Prolog 严格地在 Y 的“下方”查看。
【问题讨论】:
标签: prolog