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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。