【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)
    

点个赞嘛!
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值