目录

  • 目录
  • 编译脚本,查询外部需要定义的变量和函数
    • 测试案例
  • 关于不定参数的使用
  • 导航

编译脚本,查询外部需要定义的变量和函数

注意以下脚本int和没有int的区别

测试案例

  • compileScriptTest()
/*** 注意以下脚本int和没有int的区别* 备注:定义 int,则不包含平均分** @throws Exception if any*/
@Test
public void compileScriptTest() throws Exception {String express = "int 平均分 = (语文+数学+英语+综合考试.科目2)/4.0;return 平均分";ExpressRunner runner = new ExpressRunner(true, false);String[] names = runner.getOutVarNames(express);for (String s : names) {System.out.println("var : " + s);}
}
  • 测试结果
var : 数学
var : 综合考试
var : 英语
var : 语文

关于不定参数的使用

/*** 动态参数测试* @throws Exception if any*/
@Test
public void dynamicVarTest() throws Exception {ExpressRunner runner = new ExpressRunner();IExpressContext<String,Object> expressContext = new DefaultContext<>();runner.addFunctionOfServiceMethod("getTemplate", this, "getTemplate", new Class[]{Object[].class}, null);//(1)默认的不定参数可以使用数组来代替Object r = runner.execute("getTemplate([11,'22',33L,true])", expressContext, null,false, false);Assert.assertEquals("11,22,33,true,", r);//(2)像java一样,支持函数动态参数调用,需要打开以下全局开关,否则以下调用会失败DynamicParamsUtil.supportDynamicParams = true;r = runner.execute("getTemplate(11,'22',33L,true)", expressContext, null,false, false);Assert.assertEquals("11,22,33,true,", r);
}

导航

QLExpress 系列导航

QLExpress 系列入门教程-08-QLExpress 不定参数等补充内容相关推荐

  1. QLExpress 系列入门教程-07-QLExpress 相关 API 简介

    目录 目录 功能扩展API列表 function 相关 API Operator 相关 API 宏定义相关 API java class 的相关 API 语法树解析变量.函数的 API 语法解析校验 ...

  2. QLExpress 系列入门教程-01-QLExpress 入门使用

    目录 目录 快速开始 jar 的引入 入门案例 拓展总结 整体架构 调用方法入参 isTrace 导航 快速开始 jar 的引入 <dependency><groupId>co ...

  3. QLExpress 系列入门教程-05-QLExpress 集合相关

    目录 目录 关于集合的快捷写法 集合的遍历 导航 关于集合的快捷写法 /*** set 集合测试* 备注:集合的快捷写法* @throws Exception if any*/ @Test publi ...

  4. QLExpress 系列入门教程-02-QLExpress java 语法,java 对象操作

    目录 目录 普通 java 语法 语法支持 例子 Java 对象操作 测试案例 导航 普通 java 语法 语法支持 序号 符号 备注 1 +,-,*,/,<,>,<=,>=, ...

  5. QLExpress 系列入门教程-03-QLExpress 自定义函数,宏定义,拓展操作符

    目录 目录 自定义函数 拓展操作符 替换关键字 Operator 宏定义 导航 自定义函数 脚本中定义function /*** 自定义函数测试* @throws Exception if any*/ ...

  6. QLExpress 系列入门教程-06-QLExpress isPrecise 精度设置,isShortCircuit 逻辑短路 配置

    目录 目录 isPrecise 测试案例 isShortCircuit 测试案例 导航 isPrecise 高精度计算在会计财务中非常重要,java的float.double.int.long存在很多 ...

  7. QLExpress 系列入门教程-04-QLExpress 绑定java类或者对象的method

    目录 目录 绑定java类或者对象的method 测试案例 导航 绑定java类或者对象的method addFunctionOfClassMethod+addFunctionOfServiceMet ...

  8. php laravel 入门教程,Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】...

    Laravel 5 系列入门教程(一)[最适合中国人的 Laravel 教程] 2015-3-7 / 阅读数:314392 / 分类: Laravel 十分建议学习 5.5,跟 5.0 比变化非常大. ...

  9. 2016 版 Laravel 系列入门教程(一)

    https://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-yi/ 2016 版 Laravel 系列入门教程(一 ...

最新文章

  1. python还是r_Python和R到底该学哪个呢
  2. JavaFX技巧11:更新只读属性
  3. linux 使用gzip压缩打包的文件,linux常用的解压,压缩,打包
  4. qt中QTreeWidget控件的使用
  5. 在Azure上的Ubuntu Docker运行SQL Server
  6. NSGA_2 Matlab带约束问题的多目标优化求解方案+惩罚函数
  7. 在excel中如何筛选重复数据_如何将Excel重复数据筛选出来?简单技巧有三种!...
  8. 图像表示的相关概念:图像深度、像素深度、位深的区别和关系
  9. 自我认知测试软件,职业生涯测评系统在线测试
  10. Hadoop生态圈:19个让大象飞起来的工具!
  11. 2019年Robomaster江苏省赛总结
  12. 一个网站广告位的极致使用
  13. 村庄规划gis基础操作详细步骤
  14. PCI Option ROM 在UEFI中加载流程
  15. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】
  16. steam搬砖价值3000的教程
  17. 【Python】OpenCV中的cv2.inpaint()函数
  18. 读《乔布斯传记》有感4-----回到苹果
  19. CyberLand进入Web3.0世界的门户,未来社交新趋势!
  20. 计算机未响应硬盘,我的电脑是固态硬盘加机械硬盘的混合硬盘,运行win8.1的时候经常遇到卡死,未响应的情况。...

热门文章

  1. 微信QQ已经被封了的域名怎么处理 微信QQ已经被封了的域名如何正常打开
  2. 如何增肥,变成肌肉男【转】
  3. 基于Python驱动的SAP流程自动化(二)-下载安装SAP Scripting Tracker脚本录制工具,编写Python连接SAP
  4. 滴滴如何调度_滴滴知识(口碑值)怎么增加流水
  5. 【转】迈拓维矩45/65W PD快充头评测 ,视频实操对比
  6. manjaro-xfce 配置
  7. 基于Aria2c的百度网盘免登录高速下载器,KinhDown v1.0.88 PC+安卓
  8. 手绘板的制作——手绘(1)
  9. 软件智能:aaas设计方案定稿(初版)--AI法的程序表示 var bar|pro (AI方法的aBNF准则 δ)
  10. Linux通用脚本---docker批量导入导出镜像