Using varargs from Scala
scala, variadic-functions
Solution
def foo(msf: String, o: AnyRef, os: AnyRef*) =
println( String.format(msf, (o :: os.toList).toArray : _* ))
Problem
I'm tearing my hair out trying to figure out how to do the following: ``` def foo(msf: String, o: Any, os: Any*) = { println( String.format(msf, o :: List(os:_*)) ) } ``` There's a reason why I have to declare the method with an `o` and an `os` `Seq` separately. Basically, I end up with the format method called with a single object parameter (of type `List `). Attempting: ``` def foo(msf: String, o: Any, os: Any*) = { println( String.format(msf, (o :: List(os:_*))).toArray ) } ``` Gives me the type error: found: Array[Any] required Seq[java.lang.Object] I've tried casting, which compiles but fails for pretty much the same reason as the first example. When I try ``` println(String.format(msg, (o :: List(os:_*)) :_* )) ``` this fails to compile with implicit conversion ambiguity (`any2ArrowAssoc` and `any2stringadd`)