Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Scala anorm流API检索元组列表_Scala_Playframework_Tuples_Scala Collections - Fatal编程技术网

使用Scala anorm流API检索元组列表

使用Scala anorm流API检索元组列表,scala,playframework,tuples,scala-collections,Scala,Playframework,Tuples,Scala Collections,当我在剧中读书时!docs我找到了一种方法将结果解析为列表[(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[Stri

当我在剧中读书时!docs我找到了一种方法将结果解析为列表[(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)
我要问的是,我应该如何解析结果以生成类似上面最后一个元组的元组。我想像他们在文档中那样列出[(字符串,字符串)],但要有更多的数据

谢谢

您得到的是
(((((((((((((((((((((((Long,Long))Long),String),Long),Long),String)
因为
->
,对此的每次调用都将两个元素包装成一对。因此,每个
->
都有一个元组,然后取下这个元组并创建一个新元组,等等。您需要用逗号更改箭头并将其换行为
()


但请记住,当前元组中最多只能包含22个元素

我知道
->
就是这样的,我试着用
来代替,但运气不好。但是我现在看到你添加了
,而我没有。我马上就去试试!谢谢@Alexlv,我错过了
。错过这么一件小事感觉很傻。
val objects = getObjects().map(row =>
    (row[Long]("a"), row[Long]("b"), ..., row[String]("g")).toList