如何从 Prolog 中的咨询文件中获取数值?
How to get a numeric value from the consulting file in Prolog?
我是 Prolog 的新手,正在尝试编写一条规则来找到有更多钱的人。我正在查阅一个如下所示的文件:
money('Henry', 200).
money('Sally', 500).
money('Tom', 50).
这是我尝试编写一个规则来找到有更多钱的人:
richer(X, Y):- money(X) > money(Y).
这是行不通的。我有点不知道如何从我正在咨询的文件中访问该数值。很抱歉这个简单的问题,但我已经尝试谷歌搜索了一段时间但没有成功。
Prolog 谓词不是函数。没有 money
函数表示“returns”一个值。要从 Prolog 谓词中“获取”值,您可以使用变量作为参数来调用它们。
所以要得到某人 X 拥有的钱,你写 money(X, XMoney)
。您的谓词可以定义为:
richer_than(X, Y) :-
money(X, XMoney),
money(Y, YMoney),
XMoney > YMoney.
我是 Prolog 的新手,正在尝试编写一条规则来找到有更多钱的人。我正在查阅一个如下所示的文件:
money('Henry', 200).
money('Sally', 500).
money('Tom', 50).
这是我尝试编写一个规则来找到有更多钱的人:
richer(X, Y):- money(X) > money(Y).
这是行不通的。我有点不知道如何从我正在咨询的文件中访问该数值。很抱歉这个简单的问题,但我已经尝试谷歌搜索了一段时间但没有成功。
Prolog 谓词不是函数。没有 money
函数表示“returns”一个值。要从 Prolog 谓词中“获取”值,您可以使用变量作为参数来调用它们。
所以要得到某人 X 拥有的钱,你写 money(X, XMoney)
。您的谓词可以定义为:
richer_than(X, Y) :-
money(X, XMoney),
money(Y, YMoney),
XMoney > YMoney.