JPL을 사용하고 있으며 일부 쿼리를 Swi-Prolog에 시작합니다. 프로그램은 모든 쿼리와 함께 작동하지만 문제가 없습니다.JPL 및 명령 줄에서 쿼리가 작동하지만 쿼리가 작동하지 않습니다.
이 쿼리가 작동하지 않습니다 :
assert(like(X, Y) :- element(I, [1, 2, 3], X), element(I, [2, 3, 4], Y)).
예외 스레드에서 "주요"jpl.PrologException : PrologException : '.'. '오류 (uninstantiation_error (요소 (_3 (2, (3,' (2)],) (2-nd 인수)))
쿼리를 .pl에 넣으면 fle (단언없이, obvisously) 및 컨설팅과 함께 실행, 잘 작동합니다! 그러나 콘솔 모드에서 쿼리를 입력하면 JPL과 같은 오류가 반환됩니다. 그래서 문제가 어디에 있습니까?
글쎄! 2 개의 괄호만으로 작동합니다 ....하지만 이유는 모르겠습니다. 문제는 인수의 수 또는 나쁜 연산자 (: -)/2 연산자를 사용하는 것입니다. 3 가지 인수로 ... 더 괄호를 추가해야합니까? – user840718
Prolog는 다음과 같은 연산자를 사용합니다. - 또는, 구성 가능한 구문으로 용어로 설탕 - 또는 그 이상 - 구조체. 그리고 괄호를 더 추가 할 필요가 없습니다. 단지 두 명이 모든 표현을 a로 만들 것입니다 : - b, c, d 'fitting'in – CapelliC