2010-11-29 70 views
0

我在我的节目下面的Prolog代码:请用一个简单的Prolog的问题,帮助

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). 

现在我打电话的S谓语为s(oxford_circus, M, C).,但不幸的是它失败的,而不是告诉我例如:

M = baker_street 
C = 4 

我相信这是一个非常简单的错误,但似乎我不能找到它:(
预先感谢任何指导!

干杯!

回答

0

它在我的swi prolog中按照您的预期工作。 难道比你需要使用适当的命令行? 例如,swi prolog的典型问题不是使用-s或-c标志。

+0

嗯......很奇怪。在关闭并重新启动SWI Prolog之后,它确实也适用于我。我已经在SWI Prolog编辑器中重新启动了SWI Prolog实例,但没有帮助。我必须完全重启SWI Prolog编辑器才能让它工作 - 也许编辑有一个错误?无论如何,谢谢你的帮助! – Matthias 2010-11-29 22:00:06