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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。