Function.tupled(foo _)(getParams)
ou celui proposé par Dave.
EDIT:
Pour répondre à votre commentaire:
Que faire si toto se trouve être le
constructeur de la classe?
Dans ce cas, cette astuce ne fonctionne pas.
Vous pouvez écrire une méthode de fabrique dans le compagnon objet de votre classe, puis obtenir l'tupled version de son apply
méthode à l'aide de ces techniques.
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
Avec case class
es, vous obtenez un compagnon de l'objet avec un apply
méthode de gratuitement, et donc cette technique est plus pratique à utiliser avec case class
es.
scala> case class Person(firstName: String, lastName: String)
defined class Person
scala> Person.tupled(("Rahul", "G"))
res18: Person = Person(Rahul,G)
Je sais que c'est beaucoup de duplication de code, mais hélas... nous n'avons pas les macros (encore)! ;)