当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala Either.flatten用法及代码示例


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-lang.org大神的英文原创作品 Either.flatten。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。