recorrer lista funciones ejemplos scala list tuples pair

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 .