tengo método de biblioteca tomando lista de argumentos variable y la producción de datosScala implícita con la lista de argumentos variable
class Data
def process(elems: String*): Data = new Data
y quiero que mis cadenas que se convierten implícitamente a Data
implicit def strToData(ts: String): Data = process(t)
para que pueda escribir algo como
val data: Data = "one"
pero quiero que las tuplas de cadenas sean impli citly convertido también. He añadido otra implícita
implicit def strsToData(ts: String*): Data = process(ts: _*)
que compila bien, pero la conversión falla
val data: Data = ("one", "two")
val dat3: Data = ("one", "two", "three")
val dat4: Data = ("one", "two", "three", "four")
con
found : Seq[java.lang.String]
required: this.Data
val data: Data = Seq("one", "two")
¿Hay alguna manera de convertir tuplas implícitamente, o una razón por la que puede ¿ser logrado?
Actualización: Las tuplas pueden ser de cualquier tipo.
¿Estás seguro de que las Tuplas pueden ser de algún otro tipo? Creo que max es 22 (ver http://www.scala-lang.org/api/current/scala/Tuple23.html vs http://www.scala-lang.org/api/current/scala/Tuple22.html) – Martijn