替代模式匹配

时间:2018-04-20 10:07:32

标签: scala

是否存在以下任何一种模式匹配?像右边和左边的地图一样返回不同类型的任何一种。我不想在任何地方指定左和右。

val v:Either[Throwable, String] = Right("Hello")
val result: Either[Int, String] = v match {
  case Left(ex) => Left(ex.getMessage.size)
  case Right(m) => Right(m)
}

1 个答案:

答案 0 :(得分:3)

在下文中,您不必使用模式匹配

v.left.map(_.getMessage).right.map(_)