fold
方法(或属性)属于 scala.Option
类(class),其相关用法说明如下。
用法 一
@inline
final def fold[B](ifEmpty: => B)(f: A => B): B
如果 scala.Option 为非空,则返回将 f
应用于此 scala.Option 的值的结果.否则,计算表达式 ifEmpty
。
这相当于:
option match {
case Some(x) => f(x)
case None => ifEmpty
}
这也相当于:
option map f getOrElse ifEmpty
值参数:
- f
非空时应用的函数。
- ifEmpty
如果为空,则要评估的表达式。
源码:
- Option.scala
用法 二
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
由option2Iterable 隐式添加
使用指定的关联二元运算符折叠此集合的元素。IterableOnce
中的默认实现等同于 foldLeft
但可能会被覆盖以实现更有效的遍历顺序。
对元素执行操作的顺序是未指定的,并且可能是不确定的。
注意:对于无限大小的集合不会终止。
类型参数:
- A1
二元运算符的类型参数,
A
的超类型.
值参数:
- op
必须是关联的二元运算符。
- z
折叠操作的中性元素;可以将任意次数添加到结果中,并且不得更改结果(例如,
Nil
用于列表连接,0 表示加法,或 1 表示乘法).
返回:
在所有元素和
z
之间应用折叠运算符op
的结果,如果此集合为空,则为z
.继承自:
- IterableOnceOps
源码:
- IterableOnce.scala
相关用法
- Scala Option.foreach用法及代码示例
- Scala Option.forall用法及代码示例
- Scala Option.filterNot用法及代码示例
- Scala Option.filter用法及代码示例
- Scala Option.flatMap用法及代码示例
- Scala Option.flatten用法及代码示例
- Scala Option.mkString用法及代码示例
- Scala Option.groupBy用法及代码示例
- Scala Option.unzip用法及代码示例
- Scala Option.sliding用法及代码示例
- Scala Option.sizeIs用法及代码示例
- Scala Option.zip用法及代码示例
- Scala Option.groupMapReduce用法及代码示例
- Scala Option.lazyZip用法及代码示例
- Scala Option.transpose用法及代码示例
- Scala Option.scanRight用法及代码示例
- Scala Option.orNull用法及代码示例
- Scala Option.contains用法及代码示例
- Scala Option.toLeft用法及代码示例
- Scala Option.toList用法及代码示例
- Scala Option.isEmpty用法及代码示例
- Scala Option.collect用法及代码示例
- Scala Option.inits用法及代码示例
- Scala Option.exists用法及代码示例
- Scala Option.addString用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 Option.fold。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。