SWI Prolog를 사용하여 대학 시험을 위해 Prolog를 배우고 있는데 술어를 구현하는이 간단한 프로그램에 대해 몇 가지 질문이 있습니다.이 두 술어는 TRUE입니다. 다른 경우 (일치하지 않는 경우) 일치하는 경우 거짓이라고 말하십시오. Prolog에서 다른 술어가 작동하지 않음 (항상 거짓)
이
코드입니다 :[debug] 10 ?- different(a,b).
false.
[debug] 11 ?- different(a,a).
false.
첫 번째를 볼 수 있듯이 :
different(X,X) :- !,
fail.
diferent(_,_).
문제는 내가 실행하려고하면 프롤로그에서 다음 쿼리가 항상 FALSE 얻을 쉘이다 질의는 b와 일치하지 않기 때문에 TRUE로 말해야합니다.
왜?
왜 디버깅 할 때 유래? –
나는 바보 같은 질문에 사과한다. 나는 밤새 직장에서 일했으며, 나는 혼란에 빠져 있었다. – AndreaNobili