프롤로그에서 간단한 프로그램에 문제가 있습니다. 저는 두 개의 다른 그룹이 있습니다. 사실을 직접 수정하지 않고 한 그룹의 요소를 다른 그룹에 첨부하고 싶습니다 (예 : 토론토 = 미국).프롤로그에서 다른 변수의 MIX 값
country(usa, northamerica).
country(canada, northamerica).
city(chicago, usa).
city(newyork, usa).
city(losangeles, usa).
city(dallas, usa).
city(miami, usa).
city(lasvegas, usa).
city(seattle, usa).
city(toronto, canada).
city(vancouver, canada).
city(ottawa, canada).
city(richmond, canada).
city(winnipeg, canada).
city(edmundston, canada).
city(hamilton, canada).
trip(john, usa).
trip(jack, canada).
이 예에서 John은 미국의 7 개 도시로 여행했지만 Jack은 캐나다의 다른 7 개 도시를 여행했습니다.
그러나 John은 최근 토론토로 여행했습니다. 다음 결과에 도달하고 싶습니다.
? - trip_plus(X, john).
X = chicago;
X = newyork;
X = losangeles;
X = dallas;
X = miami;
X = lasvegas;
X = seattle;
X = toronto;
?- yes
위의 결과를 얻지 못해 여러 번 시도했습니다. 내가 얻을 수있는 가장 가까운 것은 다음을 사용했다 :
country(C).
city(Y).
trip(T).
trip_plus(X, T) :- city(Y, C), trip(T, C).
내가 뭘 잘못하고 있니?
감사합니다.
술어 트립/1은 무엇입니까? 현재 코드에서 언급되지 않았습니다. –
내 질문에 작은 오타가 있습니다. * trip_plus (X, john). 하나. 토론은 여전히 문제가되지 않습니다. :( 감사합니다. –