阅读 76

groovy curry的用处

groovy curry的用处 - 疯狂的菠菜 - ITeye技术网站

groovy curry的用处

    博客分类:
  • Groovy

GroovyJava 

开始一直不理解闭包中的curry有什么用处, 最近刚好用到, 才算搞明白.

对于一个闭包定义:


  1. def myClosure = {def param -> println param}  


如果要在一个调用中使用闭包


  1. def invokeClosure(def myClosure){  

  2.     ...  

  3.     myClosure();  

  4.     ...  

  5. }  


如果我要将一个带有参数的闭包作为另一个方法的参数, 按我本来的想法, 会这样做:


  1. invokeClosure(myClosure("haha"));  


如果这样调用, 那么会先将myClosure(myParam)闭包执行, 然后将执行结果作为invokeClosure()方法的参数, 所以没法得到我期望的结果, 这是就应该使用curry了:


  1. invokeClosure(myClosure.curry("haha"));  


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐