oxb*_*kes 12 scala scala-collections
我有一个Iterator[Option[T]]和我想的Iterator[T]那些OptionS其中T isDefined.必须有一个比这更好的方法:
it filter { _ isDefined} map { _ get }
Run Code Online (Sandbox Code Playgroud)
我原本以为在一个结构中它是可能的......有人有什么想法吗?
DRM*_*ver 15
如果it是的话Iterable
val it:Iterable[Option[T]] = ...
it.flatMap( x => x ) //returns an Iterable[T]
Run Code Online (Sandbox Code Playgroud)
如果it是的话Iterator
val it:Iterator[Option[T]] = ...
it.flatMap( x => x elements ) //returns an Iterator[T]
it.flatMap( _ elements) //equivalent
Run Code Online (Sandbox Code Playgroud)
soc*_*soc 11
在较新的版本中,现在可以:
val it: Iterator[Option[T]] = ...
val flatIt = it.flatten
Run Code Online (Sandbox Code Playgroud)