韩日无码在线,日本白嫩少妇一区,A91精品国产自产,日韩欧美中文综合

首頁 - 關(guān)于研博 - 技術(shù)筆記 - AviatorScript學(xué)習(xí)文檔
AviatorScript學(xué)習(xí)文檔
2024.10.22

  1. AviatorScript介紹

  AviatorScript是一個(gè)高性能的規(guī)則引擎,并且提供了豐富的API來操作Java對(duì)象。

  1.1 AviatorScript特點(diǎn)介紹

  AviatorScript具有以下特點(diǎn):

  •   高性能,AviatorScript可以將表達(dá)式直接翻譯成為Java字節(jié)碼執(zhí)行;
  •   輕量級(jí),整個(gè)Aviator包只有不到500K的大小,相較于傳統(tǒng)的規(guī)則引擎比如Drools、JRules來說體積更小;
  •   支持?jǐn)?shù)字(包括整型、浮點(diǎn)型、大整數(shù)都支持高精度運(yùn)算)、字符串、布爾值等豐富的基本類型,可以使用所有的Java運(yùn)算符進(jìn)行運(yùn)算;
  •   支持正則表達(dá)式及運(yùn)算符重載。

 

  2. AviatorScript使用

  2.1 引入依賴

  

 

  2.2 編寫代碼

  例子1

  

  通過以上代碼就完成了第一個(gè)AviatorScript腳本的運(yùn)行。

  例子2

  接下來我們通過一段代碼實(shí)現(xiàn)一個(gè)條件表達(dá)式的計(jì)算。

  

  例子3

  下面我們通過定義一個(gè)稍微復(fù)雜的條件表達(dá)式來實(shí)現(xiàn)自動(dòng)的計(jì)算從而得到比較結(jié)果

  

  通過以上三個(gè)例子可以看到Aviator可以通過調(diào)用compile()方法傳入對(duì)應(yīng)的腳本文本,得到一個(gè)Expression對(duì)象,最終會(huì)由這個(gè)對(duì)象去調(diào)用execute()方法去進(jìn)行運(yùn)算得到結(jié)果,這個(gè)方法有個(gè)好處就是可以接收一個(gè)Map對(duì)象來給腳本中的變量賦值,可以實(shí)現(xiàn)根據(jù)用戶填報(bào)的條件給變量進(jìn)行不同賦值獲取動(dòng)態(tài)的運(yùn)算結(jié)果,這樣就極大給我們省了很多的代碼編寫,條件的比較過程我們可以交給Aviator來幫我們實(shí)現(xiàn)。同樣的,我們也可以通過構(gòu)建不同的Map對(duì)象,復(fù)用Expression對(duì)象,對(duì)一個(gè)表達(dá)式進(jìn)行反復(fù)求值。下面在例子3的基礎(chǔ)上構(gòu)建一個(gè)新的Map對(duì)象,對(duì)同一個(gè)表達(dá)式進(jìn)行多次求值,可以看到根據(jù)不同的賦值,得到不同的運(yùn)算結(jié)果。

  例子4

  

  在實(shí)際的開發(fā)場景中我們可能往往不會(huì)清楚的知道條件表達(dá)式中會(huì)有多少未初始化的變量,這個(gè)時(shí)候我們可以通過調(diào)用Expression的getVariableNames()方法。還是通過上面這個(gè)例子的條件表達(dá)式進(jìn)行變量的打印來舉例說明,

  例子5

  

  AviatorScript也支持對(duì)邏輯運(yùn)算符&&和||起別名,在設(shè)置別名后原來的運(yùn)算符也還可以繼續(xù)使用。

  例子6

  

  以上就是AviatorScript的基本使用,除此之外AviatorScript還支持很多其他的功能,比如:

  •   對(duì)運(yùn)算符進(jìn)行重載:在某些場景中不支持除法運(yùn)算,可以通過對(duì)運(yùn)算符的重載,屏蔽/運(yùn)算;
  •   異常捕獲,在腳本內(nèi)就可以在發(fā)生異常之后做出處理;
  •   函數(shù),在例子1中其實(shí)就已經(jīng)使用過了print()函數(shù)來打印字符串,也支持自定義函數(shù)等等。

 

  3.應(yīng)用場景

  AviatorScript通過靈活的表達(dá)式配置可以應(yīng)用在規(guī)則判斷、公式計(jì)算、動(dòng)態(tài)腳本控制以及數(shù)據(jù)ETL場合中,也能夠應(yīng)用在一些邊緣計(jì)算的場景,根據(jù)提前定義好的條件規(guī)則對(duì)數(shù)據(jù)進(jìn)行提前一步的處理。AviatorScript可以滿足我們絕大多數(shù)場景下的使用需求,它非常的輕量,支持靈活的擴(kuò)展,應(yīng)用在項(xiàng)目中可以提高業(yè)務(wù)的靈活性,降低開發(fā)的工作量。

獲取相關(guān)資料
下載地址將會(huì)發(fā)送至您填寫的郵箱
相關(guān)新聞
水文SL651協(xié)議解析
2025-01-17
JT/T808 協(xié)議解析
2025-01-10
環(huán)保HJ212-2017協(xié)議介紹開發(fā)
2025-01-03
  • 在線客服
  • 電話咨詢
  • 微信
  • 短視頻
  • 欧美久久网站日韩| 欧美,日韩,国产网站| 四虎影院澳门| 人妻丰满av无码中文字幕 | 天堂一二区| 久久久久人无码人妻一区二区三区| 免费一区二区三区久久| 午夜神器久久| 最新中文字幕一区| 国产精品 日韩 欧美| 一级日B在线| 日韩人妻无码精品专区综合网kt| 国产69精品久久| 成人免费在线视频大全| 大奶人妻无码| 另类专区第1页| 99爱视频日本| 天天操夜夜操操AV| 久久久久久久99精品免费观看| 日韩高清码中文字幕日韩| 粉嫩少妇久久| 人人爽人人澡人人人妻| 国产伦理麻豆| 色欲无码人妻av一区二区三区| 日韩中文字幕小说| 特级西西444www大胆免费看| 亚洲中文字幕乱码在线| 国产99这里只有精品| 日韩一区二区三区综合| 88久久无码一区二区毛片| 第一页中文人妻无码| 日本 不卡 欧美| 日本精品狠狠色亚州| 国产美女大咪咪综合网| 成人免费av在线无码播放| 三上悠亚持续高潮40分钟| 欧美精品成人a| 麻豆黑人av网站大全| 国内自拍亚洲蜜桃| 91香蕉视频免费在线观看| 好吊妞国产欧美日韩免费观看网站|