2010-07-19 58 views
1

我需要設計一個測試貸款是否是汽車貸款的規則。序言規則反映Strucutre

carLoan(flexiCar,minLoanAmount(20000),maxTenure(12)). 
iscarloan(X, Y, Z) :- carLoan(X, Y >= minLoanAmount(20000), Z =<(maxTenure(12))). 
iscarloan(X, 25000, 10). 

我需要根據規則內部的事實來測試Y和Z變量。

如何實現這一目標?

謝謝。

回答

1
iscarloan(X, Y, Z) :- 
    carLoan(X, minLoanAmount(MinLoan), maxTenure(MaxTenure)), 
    Y >= MinLoan, 
    Z =< MaxTenure. 

這就是你想到的?

+0

我使用一些查詢測試了規則,它顯示了錯誤,指出minLoanAmount不是函數。 – peterwkc 2010-07-19 08:31:44

+0

錯誤信息是 錯誤:> =/2算術minLoanAmount不是函數 – peterwkc 2010-07-19 08:40:08

+0

我的錯 - 我在第二行修正了匹配 – 2010-07-19 10:00:12

0
carLoan(flexiCar, minLoanAmount(20000), maxTenure(12)). 

iscarloan(X, Y, Z) :- 
    Y = minLoanAmount(MLA), 
    Z = maxTenure(MT), 
    MLAN is MLA, 
    MTN is MT, 
    MLAN >= 20000, 
    MTN =< 12. 

iscarloan(X, 25000, 10). 
+0

我試過了你的答案,它返回false。 – peterwkc 2010-07-19 09:05:19

+0

我的答案如下。保證人(X,Y),非客戶(X)。 (LoanType,minLoanAmount(MLA),maxTenure(MT)), \t Y> = MLA,Z = peterwkc 2010-07-19 09:09:01

+0

看我的編輯:-) – Mau 2010-07-19 11:12:01