Scala 函数柯里化
2015-12-13 12:10
351 查看
1、代码
package com.yy.base
/**
* 函数柯里化
*/
object CurringFuncTest {
def main(args: Array[String]): Unit = {
//正常定义1
def multiple1(x:Int,y:Int) = x*y
println(multiple1(2,3))
//其中一个函数作为返回值
def multiple2(x:Int)=(y:Int)=>x*y
println(multiple2(3)(4))
//柯里化
def multiple3AfterCurring(x:Int)(y:Int) = x*y
println(multiple3AfterCurring(4)(5)) //必须传递两个参数,否则编译报错
val a = Array("XX","YY")
val b = Array("xx","yy")
println(a.corresponds(b)(_.equalsIgnoreCase(_)))
}
}2、结果
6
12
20
true
package com.yy.base
/**
* 函数柯里化
*/
object CurringFuncTest {
def main(args: Array[String]): Unit = {
//正常定义1
def multiple1(x:Int,y:Int) = x*y
println(multiple1(2,3))
//其中一个函数作为返回值
def multiple2(x:Int)=(y:Int)=>x*y
println(multiple2(3)(4))
//柯里化
def multiple3AfterCurring(x:Int)(y:Int) = x*y
println(multiple3AfterCurring(4)(5)) //必须传递两个参数,否则编译报错
val a = Array("XX","YY")
val b = Array("xx","yy")
println(a.corresponds(b)(_.equalsIgnoreCase(_)))
}
}2、结果
6
12
20
true
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- XML 文件解析--含Unicode字符的XML文件
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Scala Monad Design Pattern
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署
- 搭建hadoop/spark集群环境
- Akka (actors) remote example
- scala工具库
- scala-协变、逆变、上界、下界
- scala-常用函数介绍
- zeppelin入门使用
- ScalaMP ---- 模仿 OpenMp 的一个简单并行计算框架