13.MVEL脚本语法--函数
来源:互联网 发布:python opencv clone 编辑:程序博客网 时间:2024/06/18 06:17
函数定义
在MVEL中,定义函数用def或function关键字定义。
如:
def hello(){
System.out.println("hello world");
}
function hello(){
System.out.println("hello world");
}
参数与返回值
MVEL中的函数一样可以传参数,返回结果。如下面的函数:
def add(a,b){
a+b;
}
add函数需要传两个参数 a 和b
因为MVEL遵循last-value-out原则,即输出最后值的原则,所以a+b的结果会被返回。也可以使用return关键字强制返回。
函数调用
函数在MVEL脚本文件中定义之后,在JAVA中的调用方法可以看下面的例子:
首先新建一个.el文件写MVEL脚本,test.el:
def add(a,b){
a+b;
}
Java代码如下
//获取脚本文件
File scriptFile = new File("src/com/mvel/test.el" );
VariableResolverFactory resolverFactory = new MapVariableResolverFactory();
//参数
Map map = new HashMap();
map.put("a", 11);
map.put("b", 12);
MVEL. evalFile(scriptFile, ParserContext.create(), map);
Object obj = MVEL. eval("add(a,b);", map);
闭包
Lambda(匿名函数)
threshold = def (x) { x >= 10 ? x : 0 };
result = threshold(13);
System.out.println(result);
关于函数调用的其他内容
MVEL没有发现有自己的内置函数,比如其他的表达式语言如aviator中有获取日期的函数sysdate(),MVEL没有类似的东西。
但是发现MVEL可以调用JAVA中的一些类的方法,比如 Math的方法。
1 0
- 13.MVEL脚本语法--函数
- 10.MVEL脚本语法--数据类型
- 11.MVEL脚本语法--控制流程
- 12.MVEL脚本语法--投影与交集
- mvel语法指南
- 02.MVEL基本语法-属性表达式
- 03.MVEL基本语法-布尔表达式
- 04.MVEL基本语法--复合表达式
- MVEL-简介
- Mvel使用指南
- MVEL-简介
- 脚本语法
- 【Linux】中的shell脚本语法篇之函数和数组
- mvel探索-1
- 01.MVEL简介
- 05.MVEL返回值
- 06.MVEL操作符
- 07.MVEL值判断
- Linux 设备模型(中)之上层容器
- 11.MVEL脚本语法--控制流程
- Spring MVC 教程,快速入门,深入分析
- Java的集合整理
- 12.MVEL脚本语法--投影与交集
- 13.MVEL脚本语法--函数
- synchronized关键字详解
- PHP MongoDB扩展安装(最简洁明了的说明)
- “好程序员笔记”关于对象的比较以及一个二叉树的实现
- POJ-3186-DP
- hdu 2795
- 黑马程序员——进制转换、原码、反码、补码
- 15.MVEL shell的用法
- “老"程序员如何能保证自己一直立于不败之地?