1

我正在学习 Prolog。我写了一些简单的事实。但似乎 Prolog 没有给我正确的答案。请帮助我理解我在这里做错了什么。

facts- 天气.pl

weather(pheonix,summer,hot).   
weather(pheonix,winter,warm).  
weather(la,summer,warm).

当我在 swi-prolog 中运行它时,如下所示

?- weather(City,_,warm).
City = pheonix .

结果仅显示为pheonix。但la也是warm。为什么没有给出答案?

4

2 回答 2

2

您需要非常非常仔细地查看答案:

City = pheonix .
              ^ SPACE!

答案替换和点之间有一个空格。这个小提示告诉我们:你已经不再要求进一步的答案了。再次尝试查询,这次输入 SPACE 或;但不要输入 RETURN,因为它会再次停止回答。

于 2015-05-23T19:00:19.313 回答
1

通常,在写完第一个答案后,您可以键入一些键,通常是“;”,以回溯并接收另一个答案。

于 2015-05-23T19:00:04.950 回答