Je suis déchirer mes cheveux à essayer de comprendre comment effectuer les opérations suivantes:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, o :: List(os:_*)) )
}
Il ya une raison pourquoi je dois déclarer la méthode avec un o
et os
Seq
séparément. En gros, je me retrouve avec le format de la méthode appelée avec un seul paramètre de l'objet (de type List
). Tente:
def foo(msf: String, o: Any, os: Any*) = {
println( String.format(msf, (o :: List(os:_*))).toArray )
}
Donne-moi de l'erreur de type:
trouvé: Array[Tout]
requis Seq[java.lang.Objet]
J'ai essayé de la coulée, qui compile mais ne parvient pas pour à peu près la même raison que le premier exemple. Quand j'essaie
println(String.format(msg, (o :: List(os:_*)) :_* ))
cela ne parvient pas à compiler avec la conversion implicite d'ambiguïté (any2ArrowAssoc
et any2stringadd
)