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
  • 相关阅读:
    Sqlite教程(1) SQLiteOpenHelper
    检查网络连接状态。
    GSON解译Json为DTO
    Okhttp教程 (1)
    HashMap的扩容算法
    回溯算法
    动态规划
    实现自旋锁
    Java堆
    垃圾回收算法总结
  • 原文地址:https://www.cnblogs.com/jsersudo/p/10231474.html
Copyright © 2011-2022 走看看