recorrer lista funcional scala functional-programming

funcional - Scala: Expandir la lista de tuplas en la lista de argumentos de longitud variable de tuplas



recorrer lista en scala (1)

Estoy desconcertado sobre cómo expandir Lista / Seq / Array en una lista de argumentos de longitud variable.

Dado que tengo la función test_func aceptando tuplas:

scala> def test_func(t:Tuple2[String,String]*) = println("works!") test_func: (t: (String, String)*)Unit

Que funciona cuando paso tuplas:

scala> test_func(("1","2"),("3","4")) works!

Al leer la referencia de Scala, tengo la fuerte impresión de que lo siguiente también funcionaría:

scala> test_func(List(("1","2"),("3","4"))) <console>:9: error: type mismatch; found : List[(java.lang.String, java.lang.String)] required: (String, String) test_func(List(("1","2"),("3","4"))) ^

Y un intento más desesperado:

scala> test_func(List(("1","2"),("3","4")).toSeq) <console>:9: error: type mismatch; found : scala.collection.immutable.Seq[(java.lang.String, java.lang.String)] required: (String, String) test_func(List(("1","2"),("3","4")).toSeq)

¿Cómo expandir List / Seq / Array en la lista de argumentos?

¡Gracias de antemano!


Necesitas añadir :_* .

scala> test_func(List(("1","2"),("3","4")):_*) works! scala> test_func(Seq(("1","2"),("3","4")):_*) works! scala> test_func(Array(("1","2"),("3","4")):_*) works!