1。or with binding
比如 這條規則:「半年額度使用率 <0.3 或者 半年消費次數 <3 的信用卡 」就得用上 所謂的 or with binding 。寫法如下:
c:(card(limitusepercenthy<0.3) || card( timeshy < 3))
按常理應該如下寫 就可以了 :
c:card(limitusepercenthy<0.3 || timeshy < 3)
2。物件裡面不能再嵌複雜物件
比如 信用卡關聯了乙個客戶物件,
規則是:客戶id為1的信用卡,按常理應該寫成: c:card(customer.getid() == 1)
但是這是行不通的,card 裡面將不能再出現customer 這種物件,只能是boolean,int,float,double,或者他們的包裝類,還有string等 這些簡單物件。
drools 3.1將支援bigdecimal,但是等了好幾周都沒發布,svn上取下來的**也不能用,當然3.0.5的自帶的一堆測試也是通不過的-_-
3。待續..
Drools 規則檔案 語法屬性
1.salience 功能 設定規制執行的優先順序 值 數字 數字越大執行優先順序越高 示例 rule rule1 salience1 when eval true then system.out.println rule1 end 2.no loop 功能 控制已經執行的規則條件再次滿足是否再次執...
怪異的排列
description 將輸入的n個整數,按照這些數的逆序數從小到大排序輸出。數字的逆序 例如數字是123,則逆序數為321 例如輸入的資料為 122,432,321 則輸出 321 122 432 注意 輸出還是那些數,只是排序依據是其逆序數。input 第一行為n n 100 其後的n行,每行乙...
怪異的洗牌
題目描述 對於一副撲克牌,我們有多種不同的洗牌方式。一種方法是從中間某個位置分成兩半,然後相交換,我們稱之為移位 shift 比如原來的次序是123456,從第4個位置交換,結果就是561234。這個方式其實就是陣列的迴圈移位,為了多次進行這個操作,必須使用一種盡可能快的方法來程式設計實現。在本題目...