关于Groovy脚本

来源:互联网 发布:iphone最大的软件 编辑:程序博客网 时间:2024/05/21 13:55

Groovy本身是可以作为脚本以松散的代码方式执行的。前面的文章中已经说过了groovy脚本的代码组织方式。本文主要是谈谈Groovy脚本中关于方式调用,脚本相关属性访问的问题。

我们编写松散的Groovy代码,实际上就是在实现Groovy脚本对象Script的run方法。当然我们可以定义方法,当我们引用一个方法的时候,首先是从对应的MetaClass中去寻找对应的方法,如果找不到便从自己的Binding对象中去寻找同名的闭包,如果能够找到同名闭包,运行该闭包,如果过找不到这时才会抛出找不到方法的异常。

groovy脚本中的属性访问相对于方法调用来说,顺序似乎是反过来的,当我们引用一个属性时,首先是从对应的binding对象中寻找,如果找不到才会从对应的metaclass中去寻找。另外在Groovy脚本中定义变量,如果未加def 或者类型修饰,便是定义了在bind中的一个属性,在脚本的所有方法中均能访问。否则就是局部变量。

另外groovy脚本中提供了如println,print,evaluate等方法。

println和print方式的实现类似,从属性集合中查找“out”对象,如果有则调用对应的println或者print方法,如果没有则调用System.out的对应方法。

evaluate允许在groovy脚本中执行其他的脚本,可以执行字符串形式的脚本代码也可以是某个脚本文件。

原创粉丝点击