J'essaie d'apprendre les bases de Prolog pour une classe. Je suis confronté au problème apparemment simple de ne pas pouvoir stocker une liste dans une règle et de l'extraire pour l'utiliser dans d'autres clauses. Par exemple:Comment stocker et accéder à une liste dans une variable dans Prolog?
% These are the contents of the pl file I want to consult
% Numbers I want to process
inputList([3,2,1,0]).
% Prints out the contents of a list
printList([First | Tail]) :-
write(First),nl,
printList(Tail).
Ce que je veux faire est d'appeler les éléments suivants dans Prolog:
?- inputList(X).
?- printList(X).
L'objectif est d'éviter d'entrer en permanence de longues listes dans l'interpréteur Prolog et au lieu de les stocker dans le .pl fichier. Cependant, en entrant les commandes ci-dessus, la liste n'est pas correctement vérifiée par rapport à la clause donnée. Comment cela peut-il être accompli, de préférence en utilisant la structure ci-dessus pour stocker une liste {listContents ([a, b, c, d]).}?