freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

drools使用手冊第三章(參考版)

2024-11-18 04:41本頁面
  

【正文】 。注意使用 DSL的 DRL 在轉(zhuǎn)換后不能保持應(yīng)用 DSL 的狀態(tài),但可以進(jìn)行轉(zhuǎn)換。這允許你使用 DRL編寫規(guī)則,然后在需要的時候?qū)С龀?XML格式。 /rhs /rule . 在 XML 和 DRL格式之間自動轉(zhuǎn)換 Drools 提供了一些工具類用來在格式之間提供轉(zhuǎn)換。String39。goodbye39。 注意‘ eval’允許你更多或更少的直接整合你的條件元素從 到 ,它可以帶來更多的能力和優(yōu)點(diǎn),通過在 column 可能的地方使用約束,它最大化的利用了引擎的全部能力。注意 的 DSL 沒有太高的價值導(dǎo)入 drools 3XML。 /java:consequence /rule . 整合到 Drools 3 通常需要將 Drools2 整合到 3的 XML格式,如果你已經(jīng)有了規(guī)則庫,希望導(dǎo)入Drools3。函數(shù)也是類似的,除了它們每次分別指定,在 中函數(shù)都被指 定在一個單獨(dú)的塊中。 但是那里也存在一些相似性。 Eval的執(zhí)行效率比 Column低,因?yàn)橐婷看味夹枰匦掠嬎?Eval中的代碼段, but it is a catch all feature for when you can express what you need to do with Column constraints.[譯者注:這句不知如何準(zhǔn)確翻譯,大概意思是當(dāng)你需要在Column 的約束中作些事情時,可以提供全面的監(jiān)管。 Eval 元素允許一個有效的 java 代碼片斷執(zhí)行,只要它可以被評估為布爾值(不要使用分號結(jié)束,因?yàn)樗鼉H僅是片斷)。對于 or 也有同樣的情況,你可以嵌套更多元素。它們與在 DRL 中的工作一樣。在斷言和返回值約束中允許包含 java 表達(dá)式。它允許你指定一個類型并且可以綁定變量到類的實(shí)例上。 LHS 看起來更復(fù)雜,比起 要復(fù)雜。 /rhs /rule /package Referring to the above example: Notice the key parts, the declaration for the Drools 3, schema, imports, globals (applicationdata in drools 2), functions, and the rules. Most of the elements are self explanatory if you have some understanding of the Drools 3 features. Imports: import the types you wish to use in the rule. Globals: These are global objects that can be referred to in the rules. Functions: this is a declaration of functions to be used in the rules. You have to specify return types, a unique name and parameters, in the body goes a snippet of code. Rule: see below. Example . Detail of rule element rule name=my rule lhs column objecttype=Foo / column identifier=bar objecttype=Bar / column objecttype=Foo literal fieldname=field1 evaluator=== value=value1 / predicate fieldname=field1 identifier=var1 expression=1==1 / returnvalue fieldname=field1 evaluator=== expression=1==1 / fieldbinding fieldname=field1 identifier=var1 / boundvariable fieldname=field1 evaluator=== identifier=var1 / /column not column objecttype=Bar / /not exists column objecttype=Bar / /exists and or column objecttype=Bar / /or column objecttype=Yada / /and or and column objecttype=Foo / /and column objecttype=Zaa / /or eval 1==1 /eval /lhs rhs /* semantic actions here */ /rhs /rule 對上面規(guī)則明細(xì)的說明: 規(guī)則有一個 LHS 和一個 RHS(條件和推論)部分。該語言的摘要如下: 例 . Example ?xml version= encoding=UTF8? package name= xmlns= xmlns:xs= xs:schemaLocation= import name= / import name=.* / global identifier=x type= / global identifier=yada type= / function returntype=void name=myFunc parameter identifier=foo type=Bar / parameter identifier=bada type=Bing / body (hello world)。選擇是多樣的,主要依賴于開放的架構(gòu)。 另一種情況是, 你可能需要將 Drools 應(yīng)用到已經(jīng)使用 XML 作為配置的環(huán)境中,因此你希望規(guī)則也是 XML 格式。)。但是我們希望那不是一個默認(rèn)選擇,因?yàn)?XML 非常的不易閱讀,并且會使得規(guī)則膨脹的很厲害。 XML 格式中沒有任何擴(kuò)展和變化,所有 XML 支持的特性,在 DRL 中也支持。 . XML 規(guī)則語言 作為一個選擇, Drools 也支持使用 XML 數(shù)據(jù)格式來捕捉和管理你的規(guī)則。對于這點(diǎn)的提示是,使用 DSL表達(dá) 式來將給定的變量名綁定到對象類型上,這個對象類型不要帶任何約束,之后你可以使用“ ”子聲明來增加對象類型約束。顯然這一過程最好一小步一小步的來做,以確定所有的事情都在正確的軌道上。 ? 在對象模型的基礎(chǔ)上將 DSL 聲明映射成規(guī)則語言。在這個階段,你不用太擔(dān)心下面的規(guī)則語言,僅僅是 DSL。 ? 使用上面的 DSL,并且嘗試編寫規(guī)則,就像在第一二步的“ if then”聲明中那樣。 ? 建立新的 DSL,開始從前面的步驟中增加聲明。如果你是從頭開始的,建議按照下面的流程安排工作: ? 捕獲規(guī)則為松散的“ if then”聲明,這主要考慮到尺寸和復(fù)雜度(可能在一個文本文檔中) ? 在捕獲的規(guī)則中尋找重復(fù)的聲明。從歷史上來說,這是一個稱之為“知識工程師”的角色,他是同時具有規(guī)則引擎知識,并且能夠捕捉規(guī)則的人。在之前描述, DSL 可以在對象模型和規(guī)則語言之間提供一個隔絕層。在某些情況下,這可能意味著有一個規(guī)則對象模型是主應(yīng)用程序模型的子集(或從其映射)。但是某些情況中,模型需要由規(guī)則來發(fā)現(xiàn)。除非像黑客帝國那樣,在人們的脖子上有插孔,否則指導(dǎo)雇 員了解計算機(jī)技術(shù)是有風(fēng)險的。因?yàn)榻馕銎魍ㄟ^ Expander 和 ExpanderResolver 接口完成工作,因此在需要的情況下可以用你自己的擴(kuò)展器作為插件取代默認(rèn)的擴(kuò)展器。 { 和 }不包括在被提取的值中,它們只是用來為tokens 劃分 界限,你不能將 { 和 }在 DSL 表達(dá)式中當(dāng)其它字符使用,但是可以在目標(biāo)中使用。 Token占位符所對應(yīng)的值被保存在以 token 名稱為基礎(chǔ)的 map中,然后用來對目標(biāo)進(jìn)行值替換。目前, DSL 擴(kuò)展是對空格敏感的,但是將來會更加的寬松一些,包括允許使用更多的標(biāo)點(diǎn)符號。 當(dāng)解析器正在處理規(guī)則時,它將檢查是否用“ expander”關(guān)鍵字聲明了 DSL,如果有則嘗試使用 DSL 來翻譯規(guī)則文件中的內(nèi)容。 . 怎樣工作 當(dāng)規(guī)則被解析后, DSL 被除去。) 解析器將為你做所有工作,意味著你只需要為個別的約束定義映射,并且能夠按照你喜歡的來組合它們(如果你正使用上下文助手,如果你在 CTRL+space 后按下“ ”,它將方便的提供給你一串符合字段約束的對象列表。因此在本范例中,使用上面的映射后的效果等于 DRL 的如下描述: Cheese(age42, type==39。stilton39。{country}39。{country}39。{type}39。{type}39。但問題是 Cheese 中可能有許多屬性以 及在約束時會有許多種組合方式。讓我們看一下 Cheese 類,它包含有字段: t
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1