我试图在某种情况下制定一些规则和事实。情况如此,如果用户欠款,那么如果他没有偿还,则说他在5天后欠债,如果他没有,那么他就是正常人。到目前为止,我正在尝试类似的事情:
我有两条规则:
debtpayment_unfulfilled(X) :- owes_money(W, Amountowed, Amountpaid, Days), Days >= 7,Amountowed > Amountpaid. .
debtpayment_fulfilled(X) :- debt_paid(W,Amountowed,Amountpaid), Amountowed =:= Amountpaid.
owes_money(jim, 500, 200, 8).
但是我似乎无法编译它,XSB告诉我在第1条中有一个未绑定的变量expr ...
任何想法?编辑废料,我刚刚得到它编译大声笑,错字,顺便说一下,裁决看起来正确的尝试做什么? 当我尝试运行它时,我无法得到查询的答案:
debtpayment_unfulfilled(jim).
编辑:
可以做这样的事情:
debtpayment_unfulfilled(X) :- owes_money(X, Amountowed, Amountpaid, Days), Days >= Days + 7,Amountowed > Amountpaid.
天+ 7位还是不可能?
答案 0 :(得分:1)
您的错误是您在debtpayment_unfulfilled
和owes_money
中使用了不同的变量名称。试试这个:
debtpayment_unfulfilled(X) :- owes_money(X, Amountowed, Amountpaid, Days), Days >= 7,Amountowed > Amountpaid.
debtpayment_fulfilled(X) :- debt_paid(X, Amountowed, Amountpaid), Amountowed =:= Amountpaid.
owes_money(jim, 500, 200, 8).