从Prolog中的事实中打印一个值?

时间:2014-05-14 02:04:20

标签: prolog

让我说我有这些事实:

champion(Real_Madrid).
second_place(Atl).

如何从Prolog中的查询中打印“Real_Madrid”字符串值,所以我可以说例如:

冠军(东西)。

Real_Madrid

有什么办法吗?

2 个答案:

答案 0 :(得分:3)

在Prolog中,如果原子以大写字母开头,则它们需要引号,这样它们就不会与变量混淆。

在这里,你可以写:

champion('Real Madrid').
second_place('Atl').

然后是简单的查询:

?- champion(Something).

将打印所需的绑定:

Something = 'Real Madrid'.

如果需要,您可以找到有关Prolog语法here的更多信息。

答案 1 :(得分:0)

您需要一个可以为您打印该值的变量。

在Prolog中,变量以大写字母开头。

因此,如果您执行任何查询,例如:

champion(X).champion(Something).champion(Winner).等,结果将是相同的,它将是X=Real MadridSomething=Real MadridWinner=Real Madrid

变量的名称可以是任何名称。即使是“失败者”,结果也是如此。

不要忘记执行查询结尾的句点(.