Η 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 (member (First, Rest)), remove_dups (Rest, NewRest). /
Η συνάρτηση "remove_dups" ορίζεται ως μια σειρά από τρεις κανόνες. Ο πρώτος κανόνας ("remove_dups([],[].)") καθορίζει ότι εάν η λίστα είναι κενή, δεν πρέπει να γίνει τίποτα. η συνάρτηση θα πρέπει απλώς να επιστρέψει. Ο δεύτερος κανόνας ορίζει ότι εάν το πρώτο στοιχείο στη λίστα εμφανίζεται οπουδήποτε αλλού στη λίστα, τότε θα πρέπει να αφαιρεθεί (καθώς είναι duplicate) και η επεξεργασία θα πρέπει να συνεχιστεί χρησιμοποιώντας την υπόλοιπη λίστα καλώντας ξανά τη συνάρτηση remove_dups με το πρώτο στοιχείο στη λίστα σταμάτησε. Ο τελικός κανόνας διευκρινίζει ότι εάν το πρώτο μέλος της λίστας δεν είναι παρόν αλλού στη λίστα, θα πρέπει να διατηρηθεί και να συνεχιστεί η επεξεργασία.
Η Techwalla μπορεί να κερδίσει αποζημίωση μέσω συνδέσμων συνεργατών σε αυτήν την ιστορία.