实战 Groovy: Groovy 的腾飞
2009-11-19 00:00:00 来源:WEB开发网
清单 7. 过滤改编!package com.vanward.groovy
class Filter{
@Property strategy
boolean apply(str){
return strategy.call(str)
}
}
simplefilter = { str ->
if(str.indexOf("java.") >= 0){
return true
}else{
return false
}
}
fltr = new Filter(strategy:simplefilter)
assert !fltr.apply("test")
assert fltr.apply("java.lang.String")
rfilter = { istr ->
if(istr =~ "com.vanward.*"){
return true
}else{
return false
}
}
rfltr = new Filter(strategy:rfilter)
assert !rfltr.apply("java.lang.String")
assert rfltr.apply("com.vanward.sedona.package")
目前为止还不坏,您觉得呢?新的 Groovy 语法很容易掌握!
对范围(range)的更改
Groovy 的范围语法的变化非常小。在经典的 Groovy 中,您可以通过使用 ... 语法指明排他性(即上界)来避开这些变化。在 JSR Groovy 中,只要去掉最后一个点(.),并用直观的 < 标识替代它即可。
请注意观察我在下面的清单 8 中对来自“Feeling Groovy”一文中的范围示例进行的改编:
清单 8. 新的范围语法myRange = 29..<32
myInclusiveRange = 2..5
println myRange.size() // still prints 3
println myRange[0] // still prints 29
println myRange.contains(32) // still prints false
println myInclusiveRange.contains(5) // still prints true
- ››Groovy轻松入门
- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››实战经验:巧用微博推广淘宝网店
- ››实战iPhone GPS定位系统
- ››实战Linux环境配置DBD:Oracle模块
- ››实战DeviceIoControl系列之一:通过API访问设备驱...
- ››实战DeviceIoControl系列之二:获取软盘/硬盘/光盘...
- ››实战DeviceIoControl系列之三:制作磁盘镜像文件
更多精彩
赞助商链接