如何将Option [A]隐式转换为Option [B],其中B是A的隐式类?
在以下代码中只有converter1
有效,但返回类型不是通用的:
implicit class Test(val i: Int)
implicit def converter0[A, B](opt: Option[A])(implicit f: A => B): Option[B] = {
opt.map(f)
}
implicit def converter1[A](opt: Option[A])(implicit f: A => Test): Option[Test] = {
opt.map(f)
}
implicit def converter2[B](opt: Option[Int])(implicit f: Int => B): Option[B] = {
opt.map(f)
}
val b: Option[Int] = Option(1)
val a: Option[Test] = b