QLExpress 系列入门教程-08-QLExpress 不定参数等补充内容
目录
- 目录
- 编译脚本,查询外部需要定义的变量和函数
- 测试案例
- 关于不定参数的使用
- 导航
编译脚本,查询外部需要定义的变量和函数
注意以下脚本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 不定参数等补充内容相关推荐
- QLExpress 系列入门教程-07-QLExpress 相关 API 简介
目录 目录 功能扩展API列表 function 相关 API Operator 相关 API 宏定义相关 API java class 的相关 API 语法树解析变量.函数的 API 语法解析校验 ...
- QLExpress 系列入门教程-01-QLExpress 入门使用
目录 目录 快速开始 jar 的引入 入门案例 拓展总结 整体架构 调用方法入参 isTrace 导航 快速开始 jar 的引入 <dependency><groupId>co ...
- QLExpress 系列入门教程-05-QLExpress 集合相关
目录 目录 关于集合的快捷写法 集合的遍历 导航 关于集合的快捷写法 /*** set 集合测试* 备注:集合的快捷写法* @throws Exception if any*/ @Test publi ...
- QLExpress 系列入门教程-02-QLExpress java 语法,java 对象操作
目录 目录 普通 java 语法 语法支持 例子 Java 对象操作 测试案例 导航 普通 java 语法 语法支持 序号 符号 备注 1 +,-,*,/,<,>,<=,>=, ...
- QLExpress 系列入门教程-03-QLExpress 自定义函数,宏定义,拓展操作符
目录 目录 自定义函数 拓展操作符 替换关键字 Operator 宏定义 导航 自定义函数 脚本中定义function /*** 自定义函数测试* @throws Exception if any*/ ...
- QLExpress 系列入门教程-06-QLExpress isPrecise 精度设置,isShortCircuit 逻辑短路 配置
目录 目录 isPrecise 测试案例 isShortCircuit 测试案例 导航 isPrecise 高精度计算在会计财务中非常重要,java的float.double.int.long存在很多 ...
- QLExpress 系列入门教程-04-QLExpress 绑定java类或者对象的method
目录 目录 绑定java类或者对象的method 测试案例 导航 绑定java类或者对象的method addFunctionOfClassMethod+addFunctionOfServiceMet ...
- php laravel 入门教程,Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】...
Laravel 5 系列入门教程(一)[最适合中国人的 Laravel 教程] 2015-3-7 / 阅读数:314392 / 分类: Laravel 十分建议学习 5.5,跟 5.0 比变化非常大. ...
- 2016 版 Laravel 系列入门教程(一)
https://www.golaravel.com/post/2016-ban-laravel-xi-lie-ru-men-jiao-cheng-yi/ 2016 版 Laravel 系列入门教程(一 ...
最新文章
- python还是r_Python和R到底该学哪个呢
- JavaFX技巧11:更新只读属性
- linux 使用gzip压缩打包的文件,linux常用的解压,压缩,打包
- qt中QTreeWidget控件的使用
- 在Azure上的Ubuntu Docker运行SQL Server
- NSGA_2 Matlab带约束问题的多目标优化求解方案+惩罚函数
- 在excel中如何筛选重复数据_如何将Excel重复数据筛选出来?简单技巧有三种!...
- 图像表示的相关概念:图像深度、像素深度、位深的区别和关系
- 自我认知测试软件,职业生涯测评系统在线测试
- Hadoop生态圈:19个让大象飞起来的工具!
- 2019年Robomaster江苏省赛总结
- 一个网站广告位的极致使用
- 村庄规划gis基础操作详细步骤
- PCI Option ROM 在UEFI中加载流程
- 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】
- steam搬砖价值3000的教程
- 【Python】OpenCV中的cv2.inpaint()函数
- 读《乔布斯传记》有感4-----回到苹果
- CyberLand进入Web3.0世界的门户,未来社交新趋势!
- 计算机未响应硬盘,我的电脑是固态硬盘加机械硬盘的混合硬盘,运行win8.1的时候经常遇到卡死,未响应的情况。...
热门文章
- 微信QQ已经被封了的域名怎么处理 微信QQ已经被封了的域名如何正常打开
- 如何增肥,变成肌肉男【转】
- 基于Python驱动的SAP流程自动化(二)-下载安装SAP Scripting Tracker脚本录制工具,编写Python连接SAP
- 滴滴如何调度_滴滴知识(口碑值)怎么增加流水
- 【转】迈拓维矩45/65W PD快充头评测 ,视频实操对比
- manjaro-xfce 配置
- 基于Aria2c的百度网盘免登录高速下载器,KinhDown v1.0.88 PC+安卓
- 手绘板的制作——手绘(1)
- 软件智能:aaas设计方案定稿(初版)--AI法的程序表示 var bar|pro (AI方法的aBNF准则 δ)
- Linux通用脚本---docker批量导入导出镜像