Ich habe einen ConfigRule
Eigenschaft, die transform
hat Methode alsTypenkonflikt, wenn reduceLeft Lauf
trait ConfigRule {
final def transform(doc: Node): Node = { .....}
}
Dann habe ich ConfigTransformer
haben, die wie transform
Methode hat sieht aus, als
trait ConfigTransformer {
def transform(doc: Node, rules: Seq[ConfigRule]) = {
rules.reduceLeft((x, y) => x.transform(doc).andThen(y.transform(_)))
}
}
Ich versuche, dies zu laufen als
object Runner extends App {
override def main(args: Array[String]): Unit = {
val n1 = NewNodeRule(<foo/>, <bar/>, Seq.empty, "adding bar under foo")
val n2 = NewNodeRule(<garage/>, <car/>, Seq.empty, "adding car under garage")
ConfigTransformer.transform(<Root/>, Seq(n1, n2))
}
}
Ich bekomme Kompilierungsfehler als
Error:(18, 56) type mismatch;
found : PartialFunction[Int,scala.xml.Node]
required: solutions.xml.ConfigRule
rules.reduceLeft((x, y) => x.transform(doc).andThen(y.transform(_)))
Was mache ich falsch?
'transform()' gibt einen 'Node' zurück. Was ist die Definition von 'Node'? Wie/warum soll es die 'andThen()' Methode haben? – jwvh