플레이어와 열을 계산하여 게임에서 짝수/홀수 플레이어와 짝수/홀수 열을 확인하려고합니다. 어떤 시점에서, 내 변수를 올바르게 인스턴스화하지 않는 것 같습니다. 제대로 할당되지 TotalPlayers 및 TotalCols와프롤로그 - 인수가 충분히 인스턴스화되지 않았습니다.
playGame(Game):-
countPlayers(Game,TotalPlayers),
colSize(Game,TotalCols),
checkEvens(TotalPlayers,TotalCols);
checkOdds(TotalPlayers,TotalCols).
내가 문제를 가정있다 : 여기 내가 게임을 호출하는 방법입니다.
다른 질문을 시도했지만 문제가 다른 것 같습니다. 나는 프롤로그를 처음 접했고 어딘가에서 사소한 실수를 범하기 쉽다.
일부 추적 후에 홀수/짝수 조합이 입력 일 때 오류가 발생하는 것으로 보입니다. 두 개의 짝수 또는 두 개의 홀수를 입력하면 프로그램이 예상대로 작동합니다. 하나의 홀수와 짝수의 입력이 주어지면 끊어집니다.
전체 오류 :
ERROR: Arguments are not sufficiently instantiated
ERROR: In:
ERROR: [11] 1 is _34862 mod 2
ERROR: [10] checkOdds(_34894,_34896)
'mod' 연산자는 모든 인수가 인스턴스화되어야합니다. '1 is X mod 2'에서 "x에 대해 풀"하지 않습니다. 어떤 검색어를 입력 했습니까? – lurker
플레이어와 열을 전달 중입니다. 이것들은 totalPlayers와 TotalCols로서 columnsAndPlayers 술어에서 수집되어 전달됩니다. 그래서이 변수들이 인스턴스화되지 않았다고 가정합니다. – Tanner
나는 일반적인 설명을 원하지 않았다. 오류가 발생했을 때 정확하게 입력 한 쿼리가 무엇입니까? 그리고 네, 오류 메시지에서 'Players'도 'Cols'도 인스턴스화되지 않았 음을 볼 수 있습니다 (이들은 익명 변수, '_34894' 및 _34896으로 표시됩니다). – lurker