swift函数式编程之compose

func a(en:String) -> String {

    return en + "a";

}

 

func b(en:String) -> String {

    return en + "b";

}

 

func c(en:String) -> String {

    return en + "c";

}

 

func pipeLineGo(en:[(String) -> String ])->(String)->String{

    func innerFunc(px:String)->String{

        return en.reduce(px, { (px, fn) -> String in

            return fn(px);

        })

    }

    

    return innerFunc;

}

 

        let ret = pipeLineGo(en: [a,b,c]);

        let result = ret("ddd");

posted @ 2019-08-16 19:08  zzfx  阅读(203)  评论(0编辑  收藏  举报