暗黙の戻り型を持つ次の関数定義を参照してください。
scala> def getIn(nodes:NodeSeq, path:String) = {
| nodes map {node => node \ path}
| }
getIn: (nodes: scala.xml.NodeSeq, path: String)scala.collection.immutable.Seq[scala.xml.NodeSeq]
ただし、関数が同じ戻り型で明示的に定義されている場合、エラーが発生します。
scala> def getIn(nodes:NodeSeq, path:String) = Seq[NodeSeq] {
| nodes map {node => node \ path}
| }
<console>:9: error: type mismatch;
found : scala.collection.immutable.Seq[scala.xml.NodeSeq]
required: scala.xml.NodeSeq
nodes map {node => node \ path}
エラーが発生する理由に頭を悩ませることはできません。私を助けてください。