Ich raufe mir die Haare bei dem Versuch, herauszufinden, wie ich Folgendes tun kann:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, o :: List(os:_*)) )
}
Es gibt einen Grund, warum ich die Methode mit einer o
und ein os
Seq
getrennt. Im Grunde genommen wird die Format-Methode mit einem einzigen Objektparameter (vom Typ List
). Versuchen:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, (o :: List(os:_*))).toArray )
}
Ich erhalte einen Typfehler:
gefunden: Array[Any]
erforderlich Seq[java.lang.Object]
Ich habe versucht, Casting, die kompiliert, aber nicht für so ziemlich den gleichen Grund wie das erste Beispiel. Wenn ich versuche
println(String.format(msg, (o :: List(os:_*)) :_* ))
kann nicht kompiliert werden, da die Konvertierung nicht eindeutig ist ( any2ArrowAssoc
y any2stringadd
)