每天学一点Scala之 Currying函数
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,1、Curring函数 定义?将原来接收两个参数的一个函数,转换为两个函数,第一个函数接收原先的第一个参数,然后返回接收原先第二个参数的第二个函数。在函数调用的过程中,就变为了两个函数连续调用的形式在
千家信息网最后更新 2026年10月31日每天学一点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
形式
函数
形式
两个
参数
源码
过程
柯里
例子
场景
等价
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网龙头
科技与互联网
互联网科技有限公司经营范围
善班互联网科技
互联网科技革命
唐信互联网科技 大连
互联网科技网站
深圳艾佳互联网科技
互联网科技公司招聘
互联网汽车科技小镇
互联网科技中介
互联网金融中的现代科技
哈尔滨屹滨互联网科技有限公司
用友工业互联网科技发展
明优互联网科技有限公司
无锡工业互联网科技有限公司
怎样加入科技互联网
北京互联网科技类企业分布
北京天晋互联网科技有限公司
恒生科技指数 中概互联网
互联网和科技技术
港股互联网科技股
朗涯互联网科技
新浪科技互联网
科技伦理 互联网公司
互联网方面的科技前沿
福仕德教育科技互联网
互联网科技博主张洲
互联网领先科技成果宣传视频
北京瑞云互联网科技有限公司