2010-11-29 8 views
0

J'ai le code Prolog suivant dans mon programme:s'il vous plaît aider avec un simple Prolog question

conn([oxford_circus, baker_street], 4). 
conn([baker_street, kings_cross], 5). 
conn([oxford_circus, warren_street], 3). 
conn([warren_street, tottenham], 2). 
conn([oxford_circus, tottenham], 2). 
conn([tottenham, holborn], 1). 
conn([holbor, kings_cross], 4). 

s(N, M, C) :- 
    conn(L, C), 
    member(N, L), 
    member(M, L). 

Maintenant j'appelle le prédicat s comme s(oxford_circus, M, C)., mais malheureusement, il ne manque, au lieu de me dire par exemple:

M = baker_street 
C = 4 

Je suis sûr que ce soit une erreur très simple, mais il semble que je ne peux pas trouver :(
Merci d'avance pour toute orientation!

À la votre!

Répondre

0

Cela fonctionne comme prévu dans mon prologue swi. Pourrait-il être nécessaire d'utiliser une ligne de commande appropriée? Par exemple, le problème typique de swi prolog est de ne pas utiliser l'option -s ou -c.

+0

hmm ... très étrange. Après la fermeture et le redémarrage de SWI Prolog, cela fonctionne bien pour moi aussi. J'ai redémarré l'instance SWI Prolog dans l'éditeur SWI Prolog, ce qui n'a pas aidé. J'ai dû redémarrer complètement l'éditeur SWI Prolog afin de le laisser fonctionner - peut-être que l'éditeur a un bug? Merci en tout cas pour votre aide! – Matthias

Questions connexes