之前Evan在
http://www.chinagroovy.org/forum/index.php?topic=291.0中问了关于如何调用一个外部的Groovy脚本中的闭包的问题,实际上这并不复杂,要比Java调用Groovy的方法简单。
譬如我们有这样的脚本:
// com/test/SomeScript.groovy
package com.test
println a
b = a * 2
c = { -> println a * 3 }
我们可以这样子调用这个脚本(不需要把SomeScript.groovy编译为class文件,当然编译也是可以的):
// TestImportScript.groovy
import com.test.SomeScript
def s = new SomeScript()
s.binding.a = 1
s.run()
println s.binding.b
s.binding.c.run() // 不能写为s.binding.c(),这样会把c当作binding的方法
// 或者可以更简单
s.a = 2
s.run()
println s.b
s.c()
输出为:
1
2
3
2
4
6
以上代码在Groovy 1.5.6下测试通过。
分享到:
相关推荐
Groovy 学习笔记 Groovy 学习笔记
Groovy
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...
groovy脚本实现对数据库的增删改查,groovy脚本不需要编译,十分实用
Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该
干货:Jenkins Pipeline调用shell、python、java、groovy脚本的正确使用姿势.doc
Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式
对Groovy开发环境设置,基本语法做了简单明了的介绍
Android Studio中的Gradle开发脚本语言Groovy,Groovy入门,以及精通
动态加载指定目录下的groovy脚本,并将其注册为groovy bean,放置于ApplicationContext容器中,并使用命名空间进行分类区分(一个namespace对应于一个ApplicationContext)。同时能够动态感知到groovy脚本的新增、修改...
IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中
Groovy学习资料-中文.rar。Groovy学习资料。Grails学习资料。mht网页格式。
java 动态脚本语言 精通 Groovy
NULL 博文链接:https://yinxvxv.iteye.com/blog/811328
项目从es2升级到es6,groovy脚本也要相应的转换为painless脚本,转换过程中遇到了很多坑,特此总结成文档,供大家一起交流学习。
NULL 博文链接:https://rsljdkt.iteye.com/blog/859059
脚本通过上下文applicationcontext获取被测试应用bean,从而可以进行接口内容获取等操作。目前该方式主要运用到性能平台脚本搭建、代码深度测试、接口测试、白盒测试等多方面。...支持Java、groovy脚本。
脚本解析工具,可使用Groovy或Xquery解析JSON报文或XML报文