如何反转/翻转/反转/交换 scala 的选项?

gal*_*lva 5 reverse scala

假设您需要Option[A]将其转换为
Some(b : B)forNone

Nonefor Some(a : A)

已经有代码可以做到这一点吗?我可以写一些,但最直接的方法是什么?

Sim*_*urt 4

最直接的方法是:

val b : B = new B()
val newA: Option[B] = a.fold(Some(b))(_ => None)
Run Code Online (Sandbox Code Playgroud)

  • @galva:`s.fold(Option(b))(_ => None)`获胜。 (2认同)