簡體   English   中英

如何從 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 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM