我试图拉IDS出一套XML元素的属性id
的,但它失败,出现错误类型:为什么scala无法推断映射NodeSeq的类型?
scala> (xml \\ "contentitem").map((_ \ "@id").text)
<console>:14: error: missing parameter type for expanded function ((x$1) => x$1.$bslash("@id"))
(xml \\ "contentitem").map((_ \ "@id").text)
^
当我明确地提供了一个名为VAL(elem
)在我的地图,它的工作原理:
scala> (xml \\ "contentitem").map(elem => (elem \ "@id").text)
res8: scala.collection.immutable.Seq[String] = List(20761, 22798, 22799, 21167, 21438, 20770, 21480, 21906, 21907, 21923, 22766, 22771, 22794, 22800, 22803, 22804, 22818, 22819, 22820, 22821)
我不明白这里的区别。 elem
与_
有什么不同?
在第一种情况下,它是'map((x => x \“@id”).text)',而不是你期望的 –