我有我的匹配:
val product = parser next match {
case EvElemStart(_, "Product", attrs, _) =>
Some(parseProduct( parser, attrs ))
case _ =>
readNext()
}
此处我有4个可能的属性,并使用第2和第3个 - "Product"
和attrs
。
让我们假设EvelementStart
有20个参数。
那么,如果我只想第一次,或者仅第二次值/参数,我应该提及“_”占位符19次吗?
答案 0 :(得分:8)
让我们假设EvelementStart有20个参数。
那么,如果我只想先使用/检查/匹配,或者只是第二个值/参数,我应该提及“_”占位符19次吗?
是的,这就是它的工作方式。你有一些选择:
您可以匹配类型,并使用匹配对象的字段:
case e : EvElemStart if (e.typeString == "Product") =>
Some(parseProduct( parser, e.attrs ))
或者您可以编写自己的提取器:http://www.scala-lang.org/node/112