scala函数组合
2015-08-26 14:39
197 查看
compose
scala> def f(a:Int)=2*a f: (a: Int)Int scala> def g(b:Int)=3*b g: (b: Int)Int scala> def fComposeg=f _ compose g _ fComposeg: Int => Int scala> fComposeg(1) res8: Int = 6
andThen
andThen 和 compose很像,但是调用顺序是先调用第一个函数,然后调用第二个,即g(f(x))理解PartialFunction(偏函数)
对给定的输入参数类型,函数可接受该类型的任何值。换句话说,一个(Int) => String 的函数可以接收任意Int值,并返回一个字符串。对给定的输入参数类型,偏函数只能接受该类型的某些特定的值。一个定义为(Int) => String 的偏函数可能不能接受所有Int值为输入。
isDefinedAt 是PartialFunction的一个方法,用来确定PartialFunction是否能接受一个给定的参数。
注意 偏函数PartialFunction 和我们前面提到的部分应用函数是无关的。
PartialFunctions可以使用orElse组成新的函数,得到的PartialFunction反映了是否对给定参数进行了定义。
相关文章推荐
- C/C++面试常见关键字总结(二)
- SharePoint PowerShell命令系列 (2) Export-SPWeb & Import-SPWeb
- 黑马程序员——Set接口
- 如何修改Android应用程序的图标和名字
- 设置PL/SQL Developer 字符集
- Fetching https://dl-ssl.google.com/android/
- nginx负载均衡配置详解
- Eclipse 里切换项目的的jdk版本
- IOS学习第五篇——类别(category)
- IOS--AFNetWorking
- Effective C++——条款4(第1章)
- 我以为我都不会再哭了
- CentOS6.5下安装Oracle11g
- 子网掩码划分随手记
- 未安装apk文件信息获取
- nginx下图片服务器配置
- mysql创建utf-8字符集数据库
- Openwrt 无线中继
- 如何运行activiti中的DEMO
- LoadRunner显示中文乱码的问题