zoukankan      html  css  js  c++  java
  • groovy闭包科里化参数

    科里化闭包:带有预先绑定形参的闭包。在预先绑定一个形参之后,调用闭包时就不必为这个形参提供实参了。有助于去掉方法调用中的冗余重复。
    使用curry方法科里化任意多个参数
    使用rcurry方法科里化后面的参数
    使用ncurry方法科里化中间参数

    简单例子:

    /**
     * Created by Jxy on 2019/1/7 9:12
     * 闭包科里化参数
     */
    tellFortune(){ date , fortune->
        println "$date + $fortune"
    }
    //科里化参数
    def tellFortune(closure){
        Date date = new Date("01/07/2019")
    //    closure date, "one day"
    //    closure date, "two day"
        //科里化参数date, 避免重复发送date
        def curry = closure.curry(date)
        curry "one day"
        curry "two day"
    }

    结果:

    Mon Jan 07 00:00:00 CST 2019 + one day
    Mon Jan 07 00:00:00 CST 2019 + two day
    
    Process finished with exit code 0
  • 相关阅读:
    CF1354D
    Keiichi Tsuchiya the Drift King
    二分查找[搬运链接]
    树状数组的修炼 疑惑篇
    离线
    关于二维差分和二维前缀和的注意事项
    QWORD PTR [rcx],0x0 ??
    字典树
    数据库题
    需要掌握的技能汇总
  • 原文地址:https://www.cnblogs.com/jsersudo/p/10231474.html
Copyright © 2011-2022 走看看