2013-11-26 2 views
0

키보드 입력 (목록)에서 중복되지 않지만 inbuild setof (또는 다른 inbuild 함수)를 사용하지 않고 XSB 프롤로그에서 목록을 가져와야합니다.XSB 프롤로그 : 자신의 setof 함수 작성

어떻게 내 자신의 setof 함수를 작성합니까?

입력 및 출력은, 다음과 같이

|?-list([a,b,c,d,a,b,c,d,e,f],L). 

L=[a,b,c,d,e,f]; 

사전에 감사합니다.

+2

'list (A, B) : - sort (A, B). ' – CapelliC

+0

게시물을 업데이트 했으므로 정렬에서 평형을 빼는 inbuild 함수를 사용할 수 없습니다. – user3033489

+0

회원 쓰기/2 ? – CapelliC

답변

1

멤버/2를 사용하면 각 요소의 사본을 재귀 목록/2와 함께 입력 목록의 머리글을 검사하여 대상 목록에 아직 없는지 확인하십시오. 을 확인하면 회원/2가 수행 할 수 있습니다. 직접 작성해야합니다 ... 전체 프로그램은 4 줄의 코드 여야합니다.