问题描述
我正在尝试编写一些简单的Prolog代码来比较对象,并让我们知道一个对象大于另一个对象。例如,
larger(star,gasgiant).
larger(gasgiant,rockyplanet).
larger(rockyplanet,moon).
列出的第一项大于列出的第二项。这是我一直想用来定义的关系:
larger(X,Y) :- X > Y.
这是定义这种关系的正确方法吗?
解决方法
这是定义这种关系的正确方法吗?
可以这样定义:
larger(X,Y):- compare(>,X,Y).
或者简单地
larger(X,Y):- X @> Y.
Have a look at SWI Prolog docs