一小段scala代码看不懂?



 def collect(): Array[T] = withScope {
    val results = sc.runJob(this, (iter: Iterator[T]) => iter.toArray)
    Array.concat(results: _*)
  }

里面的results是个数组Tuple3[n][]
问下Array.concat(results: _*)是什么意思啊??

我想自己初始化一个Tuple3[n][],但是我不会初始化这个东西啊、、

scala spark apache-spark

超电磁炮妹妹 9 years, 4 months ago

concat 的签名大概是这样:
concat[T](arg: T*)
这叫 variable parameters,表示可以传不定个数的参数,比如:
cincat(t1, t2, t3)
在 concat 内部 arg 是一个 Sequence, 包含 t1 - 3 这些元素。

另外,也可以这样:


 val s: Seq[T] = List(t1, t2, t3)
concat(s:_*)

也就是你代码中的写法。

Tuple3 的数组可以 Array((a,b,c), (e, f, g)) 这样创建。

Raiden7 answered 9 years, 4 months ago

Your Answer