2012-04-12 6 views
1

우리는 프롤로그에 정의 된 관계 내에서 관계를 가질 수 있습니까?관계 프롤로그 내의 관계

나는 관계는 다음과 같이 정의되어 같은 :

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

지금 그래서 난

relation(cctypeint,relation(ru1,...,ru2)) 
같은 것을 생각하고

RU1

한 번 더 두 CctypeInt에 dependeant이다 변수가

이 가능합니까?

+0

좋은 점은 질문에 컨텍스트를 추가하는 것입니다. 무엇을 습득하려고합니까? – m09

답변

3

관계는 Prolog의 술어로 정의됩니다. 내장은 없지만 (예를 들어, 용어 확장을 사용하여이를 수행 할 수 있습니다.) 프로그램 텍스트의 술어 내부에 술어를 정의하는 구문 방식을 사용합니다. 그렇게 할 이유가 거의 없습니다. 단순히 별도의 술어를 작성하고 참조 할 수 있습니다. 당신 수 있습니다 물론 중첩 된 용어, 즉 다른 용어의 하위 용어로 용어입니다.

당신은

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

무엇을

을 의미합니까? 이것은 술어 (,)/2에 대한 내용으로, 의도는 의심 스럽습니다. 한편, 귀하의 프로그램에서 귀하의 데이터를 표현하기 위해 귀하의 프로그램에

relation(cctypeint,relation(ru_1,...,ru_n)) 

과 같은 프롤로그 용어를 작성하고 사용할 수 있습니다.

+0

, 관계의 관계가 사용 된 정확한 예를 보여줄 수 있습니까? 적어도 링크가 도움이 될 것입니다. – Vijay

+1

내장 된 방법이 없습니다. 서로 다른 관계를 정의하려면 별도의 술어를 사용하십시오. – mat