实战 Groovy: Groovy 的腾飞
2009-11-19 00:00:00 来源:WEB开发网在“alt.lang.jre: 感受 Groovy”的清单 21 中,我演示了迭代,查看了用于闭包的经典 Groovy 参数语法。可以回想一下,我在集合上运用了 find 方法,该方法试图找到值 3。然后我传入了参数 x,它代表 iterator 的下一个值 (有经验的 Groovy 开发人员会注意到,x 完全是可选的,我可以引用隐式变量 it)。使用 JSR Groovy 时,必须删除 | ,并用 Nice 样式的 -> 分隔符代替它,如清单 5 所示:
清单 5. 新的 Groovy 闭包语法[2, 4, 6, 8, 3].find { x ->
if (x == 3){
println "found ${x}"
}
}
新的闭包语法有没有让您想起 Nice 语言的块语法呢?
正如我在前面提到过的,Groovy 的 JDK 没有变。但是就像刚才所学到的,闭包却发生了变化;所以,使用 Groovy 的 JDK 中那些漂亮的 API 的方式也发生了变化,但仅仅是轻微的变化。在清单 6 中,可以看到这些变化对 Groovy IO 的影响根本是微不足道的:
清单 6. Groovy 的 JDK 依旧功能强大!import java.io.File
new File("maven.xml").eachLine{ line ->
println "read the following line -> " + line
}
改编过滤器
现在,不得不让您跳过很大一部分,但您还记得在“用 Groovy 进行 Ant 脚本编程”一文中,我是如何介绍闭包的威力和工具的吗?谢天谢地,我在这个专栏的示例中所做的多数工作都很容易针对新语法重新进行改编。在清单 7 中,我只是将 @Property 属性添加到 Filter 的成员 strategy(最初在那篇文章的清单 2 和清单 3 中显示)。然后在闭包中添加 -> 分隔符,万岁 —— 它可以工作了!
- ››Groovy轻松入门
- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››实战经验:巧用微博推广淘宝网店
- ››实战iPhone GPS定位系统
- ››实战Linux环境配置DBD:Oracle模块
- ››实战DeviceIoControl系列之一:通过API访问设备驱...
- ››实战DeviceIoControl系列之二:获取软盘/硬盘/光盘...
- ››实战DeviceIoControl系列之三:制作磁盘镜像文件
更多精彩
赞助商链接