Bonjour a tous,
Me voici confronte à un problème tout simple en prolog, et je souhaiterai connaitre la meilleur maniere de le contourner.
Voici mes fait :
habite(jean, paris).
habite(tata, paris).
habite(toto, paris).
Si je fais :
Il me renvoit bien [jean,tata,toto]. Nous sommes d'accord.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ?- findall( X, habite( X, paris), Y). Y = [jean,tata,toto].
Connaissant ma reponse, si je fais :
Il me renvoit bien true. Ce qui est cool.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ?- findall( X, habite( X, paris), [jean,tata,toto]). true.
Mais maintenant, connaissant le reponse du findall : [jean,tata,toto], je souhaiterai connaitre la ville de cette maniere :
Sauf que quand je le tappes il me repond faux, est-ce normal, et comment pourrais-je contourner ce probleme ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 findall(X, habite(X, Ville), [jean,tata,toto]). false.
Edit : Desole, je viens juste de voir le predicat bagof avec lequel ca marche...
Partager