Scala (2.7), si j'ai cette fonction:Comment transférer des arguments répétés dans Scala?
def foo(args: Array[String]) =
for (arg <- args) println(arg)
Si j'essaie maintenant de définir les éléments suivants:
def bar(args: String*) = foo(args)
le compilateur se plaint:
<console>:5: error: type mismatch;
found : String*
required: Array[String]
def bar(args: String*) = foo(args)
^
I ne comprends pas cette erreur, puisque le livre Scala de programmation indique que le type de args
à l'intérieur de la fonction bar
est actuellement Array[String]
. Comment suis-je supposé écrire une telle fonction wrapper avec des arguments répétés?
Si le livre équivaut effectivement Foo * à ce tableau est faux [Foo]; la traduction habituelle est Seq [Foo] –