私はXML要素のセットのid
属性のうち、idを引くしようとしているが、それは型エラーで失敗します。マッピングされた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
は_
とどのように異なっていますか?
list map(_.toInt)
あなたが直接あなたがlist
の要素をマッピングするコンパイラに指示:
最初のケースでは 'map((x => x \" @id ")。text)'です。 –