Utilisation de Prolog: étant Donné une liste de vérifier si le premier élément de la liste est égal au dernier élément

À l'aide de prologue, j'ai créer une règle qui détermine, quand on donne une liste, si le premier élément de la liste est égal au dernier élément de la liste. Ci-dessous est ma façon de penser.

The Base Cases:
1) If The Parameter Is Not A List: Return False
2) If The Parameter Is A List But Empty: Return False 
3) If The Parameter Is A List But Has One Element: Return False

The Recursive Step:
Recursively Going Through The List Getting The 
First Element And TheLast Element Then Compare

fela() :- false.                             <-- Base Case One
fela([]):-false.                             <-- Base Case Two
fela([H]):-false.                            <-- Base Case Three
fela([H|T]):- H1 is H, H1 == T, fela(T,H1).  <-- Recursive Step

Ci-Dessous Sont Fonction De Premier, Dernier, Membre

first(F, [F|_]).
last(L, [H|T]) :- last(L, T).

member(X, [X|_]).
member(X, [_|T]) :- member(X, T).

Je vais avoir des ennuis avec mon récursive pas, je suis pas sûr de savoir comment stocker le premier élément, et la traversée de la liste et d'obtenir le dernier élément, puis de comparer les résultats d'un vrai/faux. Quelqu'un pourrait-il m'aider

Merci,

Erik 🙂

sur DONC, vous êtes censé accepter l'une des réponses, qui vous a aidé le plus. 🙂

OriginalL'auteur Erik-Smies | 2013-07-19