2

我发现很难为这个问题提出一个标题,所以我会在这里尽我所能解释我的问题。

在 Prolog 中,您可以在谓词中使用 _ 运算符来获取所有定义,而不管那里存在什么,在我的示例中:

%footballer is in the form: footballer(lastname,team,goals_scored)

%footballer(N,T,G).
footballer(rooney,manchesterutd,15).
footballer(ronaldo,madrid,20).
footballer(bale,madrid,17).
footballer(messi,barca,25).

在这里,如果我想找到所有为马德里效力的球员,我可以使用:

footballer(X,madrid,_).

无论进球如何,它都会返回感兴趣的球员。

然而,我真正想要的是预定义的马德里队,所有不是马德里队成员的球员。就像是:

footballer(X,not(madrid),_).

这样的事情存在吗?我正在使用 Prolog 版本 5.10.2。

谢谢

4

1 回答 1

4

你想要语法不等式:

?- dif(T, madrid), footballer(X, T, _).
于 2015-02-26T20:03:56.410 回答