flatten
方法(或屬性)屬於util.Either類(class),其相關用法說明如下。
用法:
def flatten[A1 >: A, B1](implicit ev: B <:< Either[A1, B1]): Either[A1, B1]
如果 this 是正確的,則返回正確的值,如果 this 是左側的,則返回此值
例子:
val l: Either[String, Either[String, Int]] = Left("pancake") val rl: Either[String, Either[String, Int]] = Right(Left("flounder")) val rr: Either[String, Either[String, Int]] = Right(Right(7)) l.flatten //Either[String, Int]: Left("pancake") rl.flatten //Either[String, Int]: Left("flounder") rr.flatten //Either[String, Int]: Right(7)
相當於
flatMap(id => id)
源碼:
- Either.scala
相關用法
- Scala Either.fold用法及代碼示例
- Scala Either.foreach用法及代碼示例
- Scala Either.forall用法及代碼示例
- Scala Either.filterOrElse用法及代碼示例
- Scala Either.left用法及代碼示例
- Scala Either.isRight用法及代碼示例
- Scala Either.contains用法及代碼示例
- Scala Either.exists用法及代碼示例
- Scala Either.getOrElse用法及代碼示例
- Scala Either.map用法及代碼示例
- Scala Either.swap用法及代碼示例
- Scala Either.cond用法及代碼示例
- Scala Either.joinRight用法及代碼示例
- Scala Either.MergeableEither用法及代碼示例
- Scala Either.toOption用法及代碼示例
- Scala Either.joinLeft用法及代碼示例
- Scala Either.isLeft用法及代碼示例
- Scala Either.orElse用法及代碼示例
- Scala Either.toSeq用法及代碼示例
- Scala Exclusive.combinations用法及代碼示例
- Scala Elems.unzip3用法及代碼示例
- Scala Elems.unzip用法及代碼示例
- Scala Empty.inits用法及代碼示例
- Scala Elems.scanRight用法及代碼示例
- Scala Empty.unzip用法及代碼示例
注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Either.flatten。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。