问题描述
我该如何实现? xs
是列表[Any]。
def flatten(xs: List[Any]): List[Any] = {
xs match {
case x: List[Any] :: t => flatten(x) ::: flatten(t)
case x :: t => x :: flatten(t)
case Nil => Nil
}
}
第一种情况无法正常工作。由于某些原因,我无法在列表x
的开头输入类型。
解决方法
正如@Luis所提到的,使用List [Any]确实是个坏主意,但是您仍然想编写.alwaysTemplate
,然后使用反射可以这样:
flatten