scala中只用括号括起来的结构是什么?

时间:2015-02-03 13:19:24

标签: scala

问题在于:

我打算从函数中检索(Int,Int)对象,但我不知道如何获取第二个元素。我已尝试以下命令以检索第二个值,或将其转换为Seq或List,但没有运气。

scala> val s = (1,2)
s: (Int, Int) = (1,2)

scala> s(1)
<console>:9: error: (Int, Int) does not take parameters
              s(1)
               ^

scala> val ss = List(s)
ss: List[(Int, Int)] = List((1,2))

scala> ss(0)
res10: (Int, Int) = (1,2)

有人能给我一些想法吗?非常感谢!

1 个答案:

答案 0 :(得分:5)

val s = (1, 2)

是合成糖并创建Tuple2,换句话说,相当于new Tuple2(1, 2)。您可以使用

访问元组中的元素
s._1 // => 1
s._2 // => 2

同样,(1, 2, 3)会创建一个Tuple3,它还有一个方法_3来访问第三个元素。