1

遊びで読んだら!docs 結果を解析して List[(String, String)] にする方法を見つけました

このような:

// Create an SQL query
val selectCountries = SQL("Select * from Country")

// Transform the resulting Stream[Row] as a List[(String,String)]
val countries = selectCountries().map(row => 
row[String]("code") -> row[String]("name")
).toList

これを行いたいのですが、タプルにはさらに多くのデータが含まれます。

私はこのようにやっています:

val getObjects = SQL("SELECT a, b, c, d, e, f, g FROM table")
  val objects = getObjects().map(row =>
    row[Long]("a") -> row[Long]("b") -> row[Long]("c") -> row[String]("d") -> row[Long]("e") -> row[Long]("f") -> row[String]("g")).toList

私が取得する各タプルは、もちろん、この形式になります。それは、上記のコードで求めているものです。

((((((Long, Long), Long), String), Long), Long), String)

しかし、私はこれが欲しい:

(Long, Long, Long, String, Long, Long, String)

私が求めているのは、結果を解析して上記の最後のようなタプルを生成する方法です。List[(String, String)] のドキュメントで行っているように、より多くのデータを使用したいと考えています。

ありがとう

4

1 に答える 1

2

((((((Long, Long), Long), String), Long), Long), String)これ->を呼び出すたびに、2 つの要素がペアにラップされます。したがって->、タプルを取得するたびに、このタプルを取得して新しいタプルを作成するなどです。矢印をコンマで変更し、次のようにラップする必要があります()

val objects = getObjects().map(row =>
    (row[Long]("a"), row[Long]("b"), ..., row[String]("g")).toList

ただし、現在、タプルには 22 個を超える要素を含めることができないことに注意してください。

于 2013-09-27T13:02:01.013 に答える