一些项目时,下面的代码遍历节点的一些列表和一些节点创建Paragraph
或Heading
对象:类型检测,映射在一个序列无
abstract class Element
case class Paragraph(node: Node) extends Element
case class Heading(mainNode: Node, textNode: Node) extends Element
val elements =
parent.child.map(n =>
if (n.label == "p") Paragraph(n)
else if (n.label.matches("h\d")) Heading(n, n.child.head)
else None)
接下来,我想摆脱None
元素并将elements
传递给某些需要Seq[Element]
的函数。但是,elements
的类型是Seq[Product with Serializable]
而不是Seq[Element]
。为什么,我怎样才能让这个类型变得更强?
什么是'child'的类型? – 2014-11-22 21:04:34