怪異的drools語法

2021-08-29 06:12:03 字數 542 閱讀 4066

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。這個方式其實就是陣列的迴圈移位,為了多次進行這個操作,必須使用一種盡可能快的方法來程式設計實現。在本題目...