Prolog에서 중복을 제거하는 방법

Prolog는 인공 지능 및 언어 연구에 일반적으로 사용되는 선언적 프로그래밍 언어입니다. 보다 일반적인 절차 언어와 달리 대부분의 Prolog 프로그램은 일련의 단계가 아니라 일련의 규칙과 방정식으로 정의됩니다. 다음 코드는 Prolog의 목록에서 중복을 제거하는 프로세스를 설명합니다.

2 단계

슬래시 사이에 코드를 입력합니다(슬래시 자체는 제외).

/ % remove_dups(+List, -NewList): % 새 목록이 목록에 바인딩되지만 중복 항목이 제거됩니다. remove_dups([], []).

remove_dups([First | Rest], NewRest) :-멤버(First, Rest), remove_dups(Rest, NewRest).

remove_dups([First | Rest], [First | NewRest]) :- not (멤버(First, Rest)), remove_dups(Rest, NewRest). /

"remove_dups" 기능은 일련의 세 가지 규칙으로 정의됩니다. 첫 번째 규칙("remove_dups([],[].)")은 목록이 비어 있으면 아무 것도 수행하지 않도록 지정합니다. 함수는 단순히 반환되어야 합니다. 두 번째 규칙은 목록의 첫 번째 항목이 목록의 다른 곳에 나타나면 제거해야 함을 지정합니다. 복제) 및 처리는 목록의 첫 번째 항목과 함께 remove_dups 함수를 다시 호출하여 나머지 목록을 계속 사용해야 합니다. 그만뒀다. 최종 규칙은 목록의 첫 번째 구성원이 목록의 다른 곳에 없으면 유지되어야 하고 처리가 계속되어야 한다고 지정합니다.

Techwalla는 이 이야기의 제휴사 링크를 통해 보상을 받을 수 있습니다.

카테고리

충적세

TV 자체적으로 채널 변경 문제

TV 자체적으로 채널 변경 문제

스스로 채널을 바꾸는 텔레비전은 답답합니다. 텔레비전은 때때로 사용자가 지시하지 않...

부동 커서를 수정하는 방법

부동 커서를 수정하는 방법

플로팅 또는 드리프트 커서는 마우스에 갇힌 먼지와 파편으로 인해 발생할 수 있습니다...

노트북 케이스 수리 방법

노트북 케이스 수리 방법

금이 간 노트북 케이스 힌지 노트북 케이스의 다양한 플라스틱 부품, 특히 경첩은 적...