scala - Either模式匹配的替代方案

标签 scala

下面这种Either的模式匹配有没有?类似 map on both Right 和 Left 的东西返回不同类型的 Either。我不想在任何地方都指定 Left 和 Right。

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)
}

最佳答案

在下面,你不必使用模式匹配

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

关于scala - Either模式匹配的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939167/

相关文章:

scala - 使用 Play Framework 设置多个域

scala - 使用 Scala 的 REPL 进行性能基准比较是否合理?

scala - Spark 仅获取具有一个或多个空值的列

scala - 如何使用 akka-http websocket 客户端监听 websocket 服务器关闭事件

Scala 排序列表并获取第 n 个元素

scala - Akka持久性查询事件流和CQRS

scala - Scala 中的隐性证据是什么?到底有什么好处呢?

scala - 如何从生成的 pom 中排除具有显式 URL 的库依赖项?

html - 将 html/xml 代码与提升代码段分开的好方法是什么?

scala - 为什么验证不是 Monad?