對預定義值的支持

預定義值功能是 v4.3.0+ 版本新增的功能,主要為(wèi)了簡化規則編寫,支持局部參數(shù)的定義與使用,提升用戶編寫規則體(tǐ)驗。

使用說明(míng)

如果想在當前規則文件中定義一個(gè)局部參數(shù),可(kě)以在預定義值列表點擊 "+",添加預定義值。設置局部參數(shù)名稱、類型、以及值的來(lái)源。

預定義值 一個(gè)字符串

預定義好的局部參數(shù)就可(kě)以在當前的規則文件中使用了。

  • 類型:支持基礎類型和(hé)引入變量庫的複雜變量。
  • 值的來(lái)源:支持輸入的靜态值、變量或變量屬性、參數(shù)、常量、方法、函數(shù)等。
  • 源自(from): 指将值的來(lái)源的整個(gè)一個(gè)對象賦值給這個(gè)定義的局部參數(shù)
  • 來(lái)自(in): 指值的來(lái)源設置的是一個(gè)集合,類似于循環規則塊指定循環集合的設置中的指定集合對象的功能,并且可(kě)以直接設置遍曆過濾條件。
  • 預定義值列表中,前面預定義局部參數(shù),在後面的預定義中可(kě)以使用。可(kě)以通(tōng)過拖拽改變先後順序。

預定義值的順序

複雜對象的值獲取

對于複雜對象嵌套的情況,使用預定義值的方式獲取子對象值,将會(huì)變得(de)非常簡單。 定義一個(gè)子對象類型的局部參數(shù),值源自(from) 主對象的子對象屬性即可(kě)

預定義值 複雜對象的值獲取

集合循環遍曆以及多(duō)循環嵌套的使用

v4.3.0 以前的版本,循環遍曆一個(gè)集合隻能使用循環規則塊進行(xíng)遍曆集合,具體(tǐ)可(kě)以參照 設計(jì)器(qì)使用技(jì)巧一文中的使用遍曆集合說明(míng)v4.3.0+ 版本後,集合的循環遍曆可(kě)以通(tōng)過預定義值的功能實現。

  • 當值為(wèi) 來(lái)自(in) 時(shí),需要指定一個(gè)集合對象,類似于循環規則塊指定循環集合的設置中的指定集合對象的功能。
  • 當值為(wèi) 來(lái)自(in) 時(shí),指定的是一個(gè)變量庫定義的一個(gè)變量時(shí),類似于循環規則塊指定變量類型,将從當前工作(zuò)區(qū)中找到所有(yǒu)這種類型的變量并組裝成一個(gè)集合進行(xíng)遍曆。
  • 預定義一個(gè) 來(lái)自(in) 的局部參數(shù),就相當于一個(gè)For循環體(tǐ),下面的預定義條目和(hé)規則都在這個(gè)循環當中。

預定義值 循環執行(xíng)順序

  • 上(shàng)圖的執行(xíng)邏輯如下:

    類型[String] "一個(gè)拼接字符串" = "ANLIN" ;
    類型[String] "拼接後員工姓名" = "用戶"."姓名" + "一個(gè)拼接字符串" ;
    類型[用戶明(míng)細] "用戶的詳細信息" = "用戶"."詳細信息" ;
    For ("标簽" : "用戶的詳細信息"."标簽列表" ){
      if ("标簽"."是否有(yǒu)效" == "有(yǒu)效"){
         類型[标簽] "标簽信息" = "标簽" ;
         類型[String] "默認地址" = [Map]("标簽信息"."描述信息").get("有(yǒu)效") ;
          //執行(xíng)規則文件中的所有(yǒu)規則塊
          //UA0001規則塊
          if(...){
              ...
          }else{
              ...
          }
          //UA0002規則塊
          if(...){
              ...
          }
    
      } 
    }
    
  • 預定義列表中有(yǒu)多(duō)個(gè) 來(lái)自(in) 時(shí),就相當于多(duō)個(gè)For循環嵌套,這種将大(dà)大(dà)簡化循環嵌套的編寫過程。

For (item : List ){
    For (...){
        //執行(xíng)規則文件中的所有(yǒu)規則塊
    }
}

預定義優先級

當規則文件中添加了預定義值條目的時(shí)候,預定義優先級就生(shēng)效了,把一個(gè)添加了預定義值的規則文件看成一個(gè)整體(tǐ),比如同一個(gè)知識包中的多(duō)個(gè)添加了預定義值的規則文件,會(huì)根據預定義設置優先級的大(dà)小(xiǎo),從高(gāo)到低(dī)執行(xíng)。

results matching ""

    No results matching ""