Rex*_*err 36
遗憾的是,这是一种耻辱flatten
.这应该.
Flatten现在确实存在.
像之前一样,
s getOrElse None
Run Code Online (Sandbox Code Playgroud)
(除了其他答案)也会做同样的事情.
oxb*_*kes 16
你可以使用scalaz join
要做到这一点,因为这是一个一元操作:
doubleOpt.join
Run Code Online (Sandbox Code Playgroud)
这是在REPL中:
scala> import scalaz._; import Scalaz._
import scalaz._
import Scalaz._
scala> some(some("X")).join
res0: Option[java.lang.String] = Some(X)
scala> some(none[String]).join
res1: Option[String] = None
scala> none[Option[String]].join
res3: Option[String] = None
Run Code Online (Sandbox Code Playgroud)
任何具有Monad的类型类实例的东西都可以使用它.
Dav*_*ith 13
s.flatten
Run Code Online (Sandbox Code Playgroud)
然后是一堆字符,让我达到stackoverflow允许的最小值