所以我在我的Prolog程序大約有一個名字餐館和它的工作的人,其服務的餐點這個數據庫:在序言語言如何不重複的結果
restaurant(hardees,[abo_abdo,abo_ahmad,tahseen],[grilled_chicken,jambo_beef,grilled_cheese_sandwich,roast_beef]).
restaurant(subway,[eftikar,tahseen,samer],[potato_salad,chicken_rice,jambo_beef,srevice_dish]).
restaurant(mcDonalds,[amer,zaher,maher],[service_dish,beef_stew,potato_corn,grilled_chicken,roast_beef]).
restaurant(kfc,[mufeed,mazen,izdihar,maher],[mushroom_rice,service_dish,jambo_beef]).
,我想知道是否有多餐廳的餐點。
我有這樣的指令(和應該只有該指令一個參數):
multi_available(X):- restaurant(Y1,_,Z1),member(X,Z1),
restaurant(Y2,_,Z2),Y1 \= Y2 ,member(X,Z2).
而且它提出這些結果:
multi_available(X).
X = grilled_chicken ;
X = jambo_beef ;
X = jambo_beef ;
X = roast_beef ;
X = jambo_beef ;
X = jambo_beef ;
X = service_dish ;
X = grilled_chicken ;
X = roast_beef ;
X = service_dish ;
X = jambo_beef ;
X = jambo_beef ;
我怎麼能有我的結果不重複。 非常感謝
使用'setof/3' .. –