柯里化的一点小理解
Posted luckuan1985
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了柯里化的一点小理解相关的知识,希望对你有一定的参考价值。
假如说我有一个函数,这个函数只有一个参数,这个参数是只有一个参数的函数,比如说
def f1(p: (Int) => String) { println(p(5)) } def p1(x: Int): String = { (x + 10).toString } //执行函数 f1(p1)
这时我们另外一个函数是这样的
def p2(x:Int,y:Int):String={ (x+y).toString }
这种情况下,f1将无法调用p2,参数不匹配。但如果将p2改造一下呢?改造好的函数我们设成p3
def p3(x:Int)(y:Int):String={ (x+y).toString }
那么f1可以采用以下方式来调用p3函数
f1(p3(10))
或者这么来写好理解
val p4:Int=>String = p3(10)
f1(p4)
我们可以利用柯里化的函数创造一个偏应用函数。
以上是关于柯里化的一点小理解的主要内容,如果未能解决你的问题,请参考以下文章