[英]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
function。 要從 Prolog 謂詞中“獲取”值,請使用變量 arguments 調用它們。
所以要得到一個人 X 的錢,你寫money(X, XMoney)
。 您的謂詞可以定義為:
richer_than(X, Y) :-
money(X, XMoney),
money(Y, YMoney),
XMoney > YMoney.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.