나는 프롤로그의 기초를 배우고 다음 코드를 사용하여 exist_error를 계속 실행하려고합니다. 기본 예제의 프롤로그 존재 오류
comes_after(m1, m2).
comes_after(m2, m3).
comes_after(m3, m4).
comes_after(m4, m5).
comes_after(m5, m6).
does_come_after(X, Y) :- comes_after(X, Y).
does_come_after(X, Z) :- comes_after(X, Y), does_come_after(Y, Z).
같은 does_come_after 같은 쿼리를 실행 (M1, M3) 나는 다음과 같은 오류가 계속.
내가 잘못 뭐하는 거지
, 내가 마음에 무엇을 보관해야 미래에 이러한 오류를 방지하기 : 여기
uncaught exception: error(existence_error(procedure,comes_after/0),does_come_after/0)
이 스크린 샷은 오류를 보여주는거야? 미리 감사드립니다.
은 괜찮아 보인다. 그러나이 오류가 발생해서는 안됩니다. 어떻게 그 논리를 정확히 부르셨습니까? – Xaser
술어가 들어있는 파일을 참조하지 않은 것으로 보입니다 ... – coder
나는 파일을 참조했고 came_after() 선언문을 사용하여 테스트했습니다. 게시물을 업데이트하고 스크린 샷에서 세부 사항을 확인하십시오. 감사! – Zoroshino