Groovy的闭包示例

  1.  源代码:
  2. package mars.groovy
  3. /**
  4.  * @author Eric Han
  5.  * 2008-9-3 11:58:28
  6.  */
  7. public class MyClosure{
  8.  public static void main(def args){
  9.   def myfirstClosure={man->println "Hello ${man}"}
  10.   
  11.   myfirstClosure.call('Eric')
  12.   myfirstClosure('Carry')
  13.   
  14.   println ''
  15.   def map=['Eric':30,'bobo':29,'Carry':25]
  16.   map.each{println "${it.key} age is: ${it.value}"}
  17.   
  18.   println ''
  19.   map.findAll{age->age.value>28}.each{println it}
  20.   
  21.   println ''
  22.   def isAnyOneTrue=[11,12,13,14].any{n->n>12}
  23.   def isEveryOneTrue=[11,12,13,14].any{n->n>10}
  24.   println "any one is true? ${isAnyOneTrue}"
  25.   println "every one is true? ${isEveryOneTrue}"
  26.    
  27.   def result
  28.   println ''
  29.   def list=[1,2,3,4,5]
  30.   result=list.collect{n->return n*n}
  31.   println "collect result:${result}"
  32.   
  33.   println ''
  34.   def list1=[1,2,3,4,5]
  35.   result=list1.inject(1){previousValue,currentValue->previousValue*currentValue}
  36.   println "inject result:${result}"
  37.  }
  38. }
  39. 输出:
  40. Hello Eric
  41. Hello Carry
  42. Eric age is: 30
  43. bobo age is: 29
  44. Carry age is: 25
  45. bobo=29
  46. Eric=30
  47. any one is truetrue
  48. every one is truetrue
  49. collect result:[1, 4, 9, 16, 25]
  50. inject result:120
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值