Scala快速入门--偏函数
Posted 一只楠喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala快速入门--偏函数相关的知识,希望对你有一定的参考价值。
Scala之偏函数
偏函数partial function的定义及使用
偏函数的功能
- 偏函数不是一种函数
- 方法:def
- 函数:=>
- 偏函数是一种特殊的数据公式,用于实现对代码进行简化处理
偏函数的定义
- 偏函数是指代码块中没有match的一组case语句就是偏函数
- 偏函数本质是PartialFunction[A, B]的一个实例
- A:输入参数类型
- B:返回值类型
- 定义
```scala
val pf = {
case 语句
}
```
偏函数的使用
- 方式一:直接定义调用:定义一个方法,传递int类型数字,返回对应的汉字
```scala
//普通方法定义
def m1(numb:Int):String = {
numb match{
case 1 => "一"
case 2 => "二"
case 3 => "三"
case _ => "其他"
}
}
println(m1(2))
```
```scala
object PfDemo {
def main(args: Array[String]): Unit = {
//直接定义一个偏函数
val pf:PartialFunction[Int,String] = {
case 1 => "一"
case 2 => "二"
case 3 => "三"
case _ => "其他"
}
println(pf(1))
}
}
```
-
方式二:搭配collect函数使用,collect类似于map函数,传递参数为偏函数
//将所有的数值元素乘以10 val array = Array(1,2,3,9,"itcast",true)
//正常的写法 array.filter(x => x.isInstanceOf[Int]).map(x => x.asInstanceOf[Int] * 10).foreach(println)
val pf2:PartialFunction[Any,Int] = { case i:Int => i * 10 } //collect方法,类似于map方法,collect方法只能传递偏函数 array.collect(pf2).foreach(println)
点个赞嘛!
以上是关于Scala快速入门--偏函数的主要内容,如果未能解决你的问题,请参考以下文章