Functional Programming compose the swift

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");

Guess you like

Origin www.cnblogs.com/feng9exe/p/11365865.html