Cela devrait être facile. Comment appliquer une fonction à un tuple dans Scala? Viz:Comment appliquer une fonction à un tuple?
scala> def f (i : Int, j : Int) = i + j f: (Int,Int)Int scala> val p = (3,4) p: (Int, Int) = (3,4) scala> f p :6: error: missing arguments for method f in object $iw; follow this method with `_' if you want to treat it as a partially applied function f p ^ scala> f _ p :6: error: value p is not a member of (Int, Int) => Int f _ p ^ scala> (f _) p :6: error: value p is not a member of (Int, Int) => Int (f _) p ^ scala> f(p) :7: error: wrong number of arguments for method f: (Int,Int)Int f(p) ^ scala> grr!
Merci beaucoup à l'avance.
intéressant de noter, scala (2.11.0 ici) apportera vos params untupled jusqu'à un tuple si vous: 'fft.apply (1,2)' – ThaDon
Bon à savoir que vous pouvez faire , mais cela ne semble pas beaucoup plus court que d'utiliser 'function (tup._1, tup._2)' en premier lieu –
@AllenWang Je pense que le point important est que 'tupled' peut être utilisé pour n'importe quelle arité. Bon pour la maintenabilité. – Ohashi