funciones - ¿Hay algún método incluido en Scala para convertir tuplas a listas?
recorrer lista scala (2)
Funciona con cualquier tupla (scala 2.8):
myTuple.productIterator.toList
Scala 2.7:
(0 to (myTuple.productArity-1)).map(myTuple.productElement(_)).toList
No estoy seguro de cómo mantener la información de tipo para un producto general o Tuple, pero para Tuple2:
def tuple2ToList[T](t: (T,T)): List[T] = List(t._1, t._2)
Por supuesto, podría definir conversiones similares seguras para todas las Tuplas (hasta 22).
Tengo un Tuple2
de List[List[String]]
y me gustaría poder convertir la tupla a una lista para poder usar List.transpose()
. ¿Hay alguna manera de hacer esto? Además, sé que es un Pair
, aunque siempre me gustan las soluciones genéricas.
Usando Shapeless -
@ import syntax.std.tuple._
import syntax.std.tuple._
@ (1,2,3).toList
res21: List[Int] = List(1, 2, 3)
@ (1,2,3,4,3,3,3,3,3,3,3).toList
res22: List[Int] = List(1, 2, 3, 4, 3, 3, 3, 3, 3, 3, 3)
Tenga en cuenta que la información del tipo no se pierde utilizando Shapeless''s toList
.