Prolog,如果只给出部分信息,如何询问是否存在?

时间:2013-11-07 21:24:04

标签: prolog

我有一个我想搜索的航班和城市列表,看看是否有可能从一个飞到另一个。我将我的城市定义为

city(city1).
city(city2).
...

一直到city5,我定义我的航班

...
flight( city4, city5, 14:00, 15:00).
flight( city4, city5, 16:00, 17:00).
...

如果有一个从开始城市到终点城市的航班,我想问道具,无视时间。

我试过

flight(city1, city2, !, !) 

我被告知是假的,不是!通配符吗?

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找通配符参数的_符号。试试这个:

flight(city1, city2, _, _) 

您也可以使用变量名来尝试让解释器找到匹配项:

flight(city1, city2, D, A)

或类似的东西。