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

Jud*_*ing 1 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)
Run Code Online (Sandbox Code Playgroud)

谁能给我一些想法?非常感谢!

Leo*_*Leo 5

val s = (1, 2)
Run Code Online (Sandbox Code Playgroud)

是合成糖,并创造一个Tuple2,或换句话说相当于new Tuple2(1, 2).您可以使用.访问元组中的元素

s._1 // => 1
s._2 // => 2
Run Code Online (Sandbox Code Playgroud)

同样,(1, 2, 3)会创建一个Tuple3,也有一个_3访问第三个元素的方法.

  • 添加另一种提取元组内容的方法可能是有用的,例如:`val(a,b)=(1,2)`将影响a = 1,b = 2. (2认同)