在
Scala 2.9.1中,我能做到
> Some(List(1,2,3)).flatten List(1,3)
但在Scala 2.10.0中,
> Some(List(1,3)).flatten Cannot prove that Seq[Int] <:< Option[B]
我发现this已关闭bug,但我不明白判决,或者为什么关闭.
(1)为什么这不适用于Scala 2.10(显然是设计?)
(2)我的2.9代码的惯用2.10是什么?
解决方法
flatten采用外容器的类型.您无法将List放入选项中,因此无效.相反,首先更改外部容器的类型,以便可以进行展平:
Some(List(1,3)).toList.flatten