があり、タプルをリストに変換して、を使用できるようにしたいと考えていTuple2
ます。これを行う方法はありますか?また、私は常に一般的なソリューションのファンですが、それは知っています。List[List[String]]
List.transpose()
Pair
31655 次
2 に答える
83
任意のタプル(scala 2.8)で動作します:
myTuple.productIterator.toList
Scala 2.7:
(0 to (myTuple.productArity-1)).map(myTuple.productElement(_)).toList
一般的な製品またはタプルのタイプ情報を維持する方法がわかりませんが、タプル2の場合:
def tuple2ToList[T](t: (T,T)): List[T] = List(t._1, t._2)
もちろん、すべてのタプル(最大22)に対して同様のタイプセーフな変換を定義できます。
于 2009-12-17T02:10:29.907 に答える
10
シェイプレスの使用-
@ 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)
Shapelessのを使用してもタイプ情報は失われないことに注意してくださいtoList
。
于 2017-05-01T07:54:48.083 に答える