如果我有列表[任何] 这样的表格列表
val list = List(List(1,1),2,List(3,List(5,8)))
然后如何编写区分
的匹配语句或伪scala
list match {
case x:"single non-list element" => // do something with single element x
case y:"where y is a list" => // do something with list y
}
通常的 head :: tails 匹配不起作用,因为 head 可以是任何类型,其中包含其他列表。
答案 0 :(得分:5)
list foreach {
_ match {
case x:List[_] => // list
case _ => // anything else
}
}
我应该工作
答案 1 :(得分:5)
val (lists, nonlists) = list partition {case (x :: xs) => true case _ => false}
lists: List[Any] = List(List(1, 1), List(3, List(5, 8)))
nonlists: List[Any] = List(2)