Function.tupled(foo _)(getParams)
o el sugerido por Dave.
EDITAR:
Para responder a su comentario:
¿Qué pasa si foo es el constructor de alguna clase?
En ese caso, este truco no funcionará.
Puede escribir un método de fábrica en el objeto complementario de su clase y luego obtener la versión tuplicada de su apply
método utilizando una de las técnicas mencionadas anteriormente.
scala> class Person(firstName: String, lastName: String) {
| override def toString = firstName + " " + lastName
| }
defined class Person
scala> object Person {
| def apply(firstName: String, lastName: String) = new Person(firstName, lastName)
| }
defined module Person
scala> (Person.apply _).tupled(("Rahul", "G"))
res17: Person = Rahul G
Con case class
es obtienes un objeto complementario con un apply
método gratis y, por lo tanto, esta técnica es más conveniente para usar con case class
es.
scala> case class Person(firstName: String, lastName: String)
defined class Person
scala> Person.tupled(("Rahul", "G"))
res18: Person = Person(Rahul,G)
Sé que es mucha duplicación de código, pero por desgracia ... ¡no tenemos macros (todavía)! ;)