我試圖拉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)',而不是你期望的 –