zoukankan      html  css  js  c++  java
  • swift的柯里化demo

    func baseFunc(go:String, goo:String) -> String {

            return "hello" + go + goo;

        }

        

        func CurryFunc(baseFun:@escaping (String,String)->String) ->(String) -> (String)->String {

            func returnFun(other:String)->(String)->String{

                func inReturnFun(inner:String) -> String{

                    return baseFun(inner,other);

                }

                return inReturnFun;

            }

            

            return returnFun;

        }

           let e = self.CurryFunc(baseFun: baseFunc)("fist");

            

            print(e);

            

            let x = self.CurryFunc(baseFun: baseFunc)("fist")("otehr");

            

            print(x);

            

            let go = self.CurryFunc(baseFun: { (a, b) -> String in

                return a + b;

            });

    e () -> () 0x0000000105848190 FunctionGoo`partial apply forwarder for

     inReturnFun #1 (inner: Swift.String) -> Swift.String

    in returnFun #1 (other: Swift.String) -> (Swift.String) -> Swift.String

    in FunctionGoo.ViewController.CurryFunc(baseFun: (Swift.String, Swift.String) -> Swift.String) -> (Swift.String) -> (Swift.String) -> Swift.String

    at <compiler-generated>

  • 相关阅读:
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11365749.html
Copyright © 2011-2022 走看看