Prolog är ett deklarativt programmeringsspråk som ofta används inom artificiell intelligens och lingvistikforskning. Till skillnad från de vanligare procedurspråken definieras de flesta Prolog-program som en serie regler och ekvationer, snarare än som en serie steg. Följande kod beskriver processen för att ta bort dubbletter från en lista i Prolog.
Steg 2
Skriv in koden mellan snedstrecken (låt själva snedstrecken vara ute):
/ % remove_dups(+List, -NewList): % New List är bunden till List, men med dubblettobjekt borttagna. remove_dups([], []).
remove_dups([First | Rest], NewRest) :- medlem (First, Rest), remove_dups (Rest, NewRest).
remove_dups([First | Rest], [First | NewRest]) :- inte (medlem (First, Rest)), remove_dups (Rest, NewRest). /
Funktionen "remove_dups" definieras som en serie av tre regler. Den första regeln ("remove_dups([],[].)") specificerar att om listan är tom ska ingenting göras; funktionen ska helt enkelt återvända. Den andra regeln anger att om det första objektet i listan visas någon annanstans i listan, så ska det tas bort (eftersom det är en duplicate) och bearbetningen bör fortsätta att använda resten av listan genom att anropa remove_dups-funktionen igen med det första objektet i listan slutade. Den sista regeln anger att om den första medlemmen av listan inte finns någon annanstans i listan, ska den behållas och behandlingen ska fortsätta.
Techwalla kan få kompensation genom affiliate-länkar i den här historien.