在Scala 2.9.1中,我可以做
> Some(List(1,2,3)).flatten
List(1,2,3)
但是在Scala 2.10.0中,
> Some(List(1,2,3)).flatten
Cannot prove that Seq[Int] <:< Option[B]
我发现this已关闭,但我不了解该裁决或为何将其关闭。
(1)为什么这在Scala 2.10中不起作用(显然是设计使然?)
(2)我的2.9代码的惯用2.10版本是什么?
最佳答案
flatten
采用外部容器的类型。您无法将List
放入Option
,所以这是行不通的。相反,请首先更改外部容器的类型,以便可以展平:
Some(List(1,2,3)).toList.flatten
关于scala - 为什么Some(List(1,2,3))。flatten不能编译?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22204357/