您的位置:首页 > 其它

scala25-CurringCurring(柯里化)

2015-12-20 12:32 246 查看
<span style="font-size:14px;">  def main(args: Array[String]) {
def multiple(x: Int, y: Int) = x * y
def multipleOne(x: Int) = (y: Int) => x * y
//multipleOne类似于第一个函数会做的事情
val multipleTwo = multipleOne(1)
//在第一个函数上应用1,换句话说,调用第一个函数并传入1,产生第二个函数
multipleTwo(2)
//在第二个函数上应用2,产生结果
//  println(multipleOne(6)(7))
//上述三行代码就是curing的过程,等价于下面2行代码
def curring(x: Int)(y: Int) = x * y
println(curring(1)(2))

val a = Array("Hello", "Spark")
val b = Array("hello", "spark")
println(a.corresponds(b)(_.equalsIgnoreCase(_)))
/*
* curring:实际链接两个传统函数,第一个函数调用带单个名为x的参数,并返回第二个函数的函数值,第二个函数带Int参数y
*/
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: