Me pregunto cuál es la mejor manera de hacerlo.Invocar un método usando una tupla como la lista de parámetros
val foo = Some("a")
val bar = Some(2)
def baz(a: String, b: Int) = if((b % 2) == 0) Some(a+","+b) else None
(x zip y) flatMap baz //does not compile of course
(x zip y) flatMap { x => baz(x._1, x._2) } //ugly
Supongo que Odersky et al. tener otro truco en la manga para reducir el ruido en este ejemplo.
Así que la pregunta es cómo luchar contra el desorden aquí asumiendo que no está permitido cambiar la implementación de baz
(por ejemplo, def baz(a: (String Int))
).
+1 Sé que es una especie de duplicado, pero en el título es mucho mejor así que lo hará ser encontrado por más personas :) – fresskoma