프롤로그 프로그램에서 apple 사과가 빨간색 또는 녹색을 의미해야합니다. 저는 여기에 구현 된 코드의 예입니다프롤로그에서 표현하고 OR 함수를 사용하십시오
:-dynamic(red/1).
:-dynamic(green/1).
apple(a).
apple(b).
apple(A):-red(A);green(A).
내 문제는 이것이 내가 동적를 놓고 지금 ?-red(a)
및 ?-green(a)
가 false를 반환 할 주어진 사실이 아니기 때문에 ?- red(a)
및 ?-green(a)
가 false를 반환해야한다는 것입니다. 사과가 당신의 응답을 빨간색 또는 녹색
감사 중 하나이기 때문에 그러나 red(A);green(A).
true를 돌려 : 나 모든 문제가 그 것이다 그러나 - 빨강 (a)와 별도로 실행할 때 녹색의 (a) 모두 surpose가 false를 반환한다. ? -red (a), 녹색 (a)은 true를 반환해야합니다. 이것은 내가 잃어버린 곳입니다. 결과를 얻는 방법에 대한 제안이 있으면 크게 환영 할 것입니다.
여러분 께 감사드립니다. –
@ChrisMartin : 편집 내용이별로 개선되지 않았습니다 ... – false