我正在尝试向toA()
utils.Try 类添加新方法。但我面临一个类型的问题:
案例成功返回我们v : Any
,但我需要v : V
。如何获得v : V
?也许我需要一个功能Apply
?我是新手,我不明白
object Example:
enum AorB[+V]:
case A(x: V) extends AorB[V]
case B(x : Throwable) extends AorB[V]
implicit class Try[V](x : V):
def apply[V](r: => V): Try[V] = ???
def toA[V](f: Try[V]): A[V] =
f match
case Success(v) => AorB.A(v)
case Failure(e) => AorB.B(e)