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!