Scala: развернуть список кортежей в список аргументов кортежей переменной длины

Я озадачен тем, как расширить List/Seq/Array в переменную- список аргументов длины.

Учитывая, что у меня есть функция test_func, принимающая кортежи:

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

Которая работает, когда я передаю кортежи:

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

Из чтения справочника по Scala у меня сложилось сильное впечатление, что следующее также будет работать:

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")))
                        ^

] И еще одна отчаянная попытка:

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)

Как расширить List/Seq/Array в список аргументов?

Заранее спасибо!

20
задан forker 1 June 2012 в 00:07
поделиться