09 Accumulate語法分析

2021-10-01 13:22:44 字數 1119 閱讀 8678

1、accumulate內聯語法(推薦)

from accumulate( ,

init( ),

action( ),

reverse( ),

result( ) )

:這是乙個規則模式,引擎試圖匹配從返回的物件。如果匹配,則累加條件元素的計算結果為true,然後引擎繼續計算規則中的下乙個ce。如果不匹配,累加ce的值將為false,引擎將停止為該規則計算ces。

:源模式是乙個常規模式,引擎將嘗試匹配每個源物件。

:這是所選方言中的乙個語義**塊,在遍歷源物件之前,將對每個元組執行一次。

:這是所選方言中的乙個語義**塊,將為每個源物件執行。

:這是所選方言中可選的語義**塊,如果存在,將為不再匹配源模式的每個源物件執行。這個**塊的目的是撤銷在塊中所做的任何計算,這樣引擎就可以在修改或刪除源物件時進行遞減計算,極大地提高了這些操作的效能。(實操時沒有起作用,編碼中...)

:這是在所選方言中的乙個語義表示式,在遍歷所有源物件之後執行。

通俗得講

2、accumulate 中可使用的drools內建的累加函式功能

2.1 collectlist (注意寫法)

累加函式返回:從遍歷資料中取出指定資料的集合

取出動物集合中**低於120的動物的名字集合

與from相比,取出集合中性別為女性的集合

實際操作中,collectlist的方式更為強大,且不容易出錯

2.2 其他相關的函式操作,見**

componentruletest.accumulate()測試類

執行得時候,把其他規則呼叫注釋了,防止同時呼叫幾條規則;(小夥伴可以試下,多條連續的fireallrules

(入參fact一樣)之間如果沒有kiesession.insert(...),操作,只執行最上一條規則)

如果需要同時呼叫幾條規則,建議通過group或者rulenameendswithagendafilter...等來控制

Swift語法09 元組

使用元祖描述乙個人的資訊 1001 張三 30,90 給元素加上元素名稱,之後可以通過元素名稱訪問元素 id 1001 name 張三 english score 30,chinese score 90 元組 http錯誤 let array 404,not found 寫法一 let error ...

Nginx 09 Rewrite語法詳解

重寫中用到的指令 if 條件 設定條件,再進行重寫 set 設定變數 return 返回狀態碼 break 跳出rewrite rewrite 重寫if 語法格式 if 空格 條件 條件的3種寫法 來判斷相等,用於字串比較 用正則來匹配 此處的正則區分大小寫 不區分大小寫的正則 f d e來判斷是否...

plotnine 分面系統 筆記09

facet wrap facet grid 核心語法 facet wrap facets,nrow null,labeller label value strip.position top facet grid rows null,cols null,scales fixed labeller la...