概念

在Scala中,偏函数是具有类型PartialFunction[-T,+V]的一种函数。T是其接受的函数类型,V是其返回的结果类型。

目的

可以用于模式匹配,从而搞定一些比如说只处理集合的部分元素

给你一个集合val list = List(1, 2, 3, 4, “abc”) ,请完成如下要求:
将集合list中的所有数字+1,并返回一个新的集合
要求忽略掉 非数字 的元素,即返回的 新的集合 形式为 (2, 3, 4, 5)

用法

object TestParti {def main(args: Array[String]): Unit = {val list = List(1, 2, 3, 4, "abc")val list2 = list.collect(f1)print(list2) //List(2, 3, 4, 5)}def f1: PartialFunction[Any, Int] = {case x: Int => x + 1}
}

scala 偏函数及其用途相关推荐

  1. Scala 偏函数和偏应用函数

    偏函数 偏函数是指仅定义了输入参数的子集的函数,如下图: 这个图显示的一个偏函数:f : X -> Y,该函数仅定义了输入参数X的子集1和3,没有包含2. 在Scala中的偏函数是通过特质Par ...

  2. Scala偏函数使用示例

    引言 传统解决思路 package com.zxl.scalaobject PartiakFunDemo1 {def main(args: Array[String]): Unit = {val li ...

  3. scala 偏函数与 map/collect

    https://fangjian0423.github.io/2015/06/14/scala-partial/ https://www.jianshu.com/p/fa2ed7ed391e 0. c ...

  4. Scala偏函数与部分函数

    函数 1.部分函数 部分应用函数(Partial Applied Function)是缺少部分参数的函数,是一个逻辑上概念. def sum(x: Int, y: Int, z: Int) = x + ...

  5. 学习Scala: 初学者应该了解的知识

    Scala开发参照清单 这里列出在开发一个Scala工程中需要参照的资料. 官网网站 http://www.scala-lang.org/ 文档网站 http://docs.scala-lang.or ...

  6. 我的Machine Learning学习之路

    从2016年年初,开始用python写一个简单的爬虫,帮我收集一些数据. 6月份,开始学习Machine Learning的相关知识. 9月开始学习Spark和Scala. 现在想,整理一下思路. 先 ...

  7. 大数据常见面试题----冲!!!

    大数据常见面试题 一.Hadoop生态 1.1 HDFS 1.1.1 hdfs读写流程 1.1.2 NameNode.DataNode的作用 1.3 hive 1.3.1 hive中内部表.外部表的区 ...

  8. scala中的部分应用函数和偏函数的区别

    2019独角兽企业重金招聘Python工程师标准>>> 经常把部分应用函数(Partial Applied Function)和偏函数(Partial Function) 搞混. 本 ...

  9. 【Scala】Scala的偏函数和偏应用函数

    偏函数(Partial Function),是一个数学概念它不是"函数"的一种, 它跟函数是平行的概念. Scala中的Partia Function是一个Trait,其的类型为P ...

最新文章

  1. VS上配置opencv249所添加的附加依赖项
  2. PlanarSLAM:基于结构化约束的视觉SLAM
  3. 申请重新邮寄CCNA证书成功!!!!!(转)
  4. python中可以用中文作为变量-Python中用中文变量名、函数名,会影响性能吗?
  5. 关于z-index的总结
  6. 小强系列之大话移动测试
  7. 数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题(以ubuntu-18.04.3为例)
  8. 基于微信我们可以做什么样的应用?
  9. #SORA#celery研究中的一个小问题
  10. 现代通信原理:期中考试答案
  11. 什么是LAMP架构?
  12. JavaScript - 自定义鼠标右键菜单
  13. 不用百度网盘客户端直接下载大文件
  14. Java编程英语单词大全_java编程常用英语单词
  15. (技术类)中标麒麟linux终端命令操作之小白不知道的点(1)
  16. linear-gradient实现Ps标尺
  17. 瑞幸咖啡,不过是又一个“逃离美团者”
  18. 在日本转职需要到入管办理转职手续
  19. [计算机漫谈]网络初步:一个分组的生命历程
  20. 将一个div中的两个P元素同一行居中显示

热门文章

  1. linux shell 脚本中 字符串截取并赋值引用
  2. 全网最详细的Android Studio卸载、安装和启动教程
  3. python按位处理二进制文件_对如何在python shell中对16位二进制数执行按位运算感到困惑...
  4. 字段定义_联系人字段随需自定,知己知彼快速签单
  5. c++ 海战棋_编程入门须知:都说零基础不好学编程,那么什么是编程基础?
  6. java微信刷卡支付demo_微信刷卡支付例子
  7. c#生成token访问的接口_python测试开发django60.token登录(TokenAuthentication)
  8. vue seo关键词设置_「干货」SEO常识关键词选取及设置方法
  9. python 脚本所在目录,Python 获取当前所在目录的方法详解
  10. 飞桨模型保存_飞桨对话模型工具箱(二):对话自动评估模块ADE