每天学一点Scala之Currying函数-创新互联

1、Curring函数 定义?

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了合江免费建站欢迎大家使用!

    将原来接收两个参数的一个函数,转换为两个函数,第一个函数接收原先的第一个参数,然后返回接收原先第二个参数的第二个函数。

在函数调用的过程中,就变为了两个函数连续调用的形式

在marathon源码以及Spark的源码中,也有体现,所以对()()这种形式的Curring函数,要理解。

2、例子:

object CurryingTest {    def main(args: Array[String]): Unit = {       println("---->:\t" + sum(3,4))       println("---->:\t" + sum2(5))       println("---->:\t" + sum2(5)(1))       // 柯里函数       println("---->:\t" + sum3(4)(8))    }    def sum(a: Int, b: Int) = a + b    def sum2(a: Int) = (b: Int) => a + b  // 由sum函数转换成sum3函数时的中间过程    def sum3(a: Int)(b: Int) = a + b }

其实,柯里函数到底用在什么场景下,并没有真正理解。

目前,仅仅是,只要看到

sum3(a: Int)(b: Int) = a + b

这种形式,可以直接理解成 或者等价于

sum(a: Int, b: Int) = a + b

形式

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网页名称:每天学一点Scala之Currying函数-创新互联
标题链接:https://www.cdcxhl.com/article38/deppsp.html

成都网站建设公司_创新互联,为您提供建站公司微信公众号面包屑导航商城网站电子商务网站改版

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化