Dire que j'ai le morceau de code suivant:Comment obtenir la liste des valeurs pendant le retour en arrière de Prolog?
edge(a, b).
edge(a, c).
edge(a, d).
Maintenant, quand je fais
neighbors(V, N) :- edge(V, N), writeln(N), fail.
Je peux obtenir une liste des voisins imprimés sur la console. Mais comment puis-je l'obtenir comme une liste de résultats? Quelque chose comme
neighbors(V, Vs) :-
edge(V, N),
not(member(N, Vs)),
neighbors(V, [N|Vs]).
(la pièce ci-dessus ne fonctionne pas vraiment en raison de la façon dont est gérée member
. Toute suggestion s'il vous plaît?