如何在Scala中定义Tuple1?

时间:2015-11-30 03:42:54

标签: scala

我尝试使用(1,),但不起作用,在scala中定义Tuple1的语法是什么?

scala> val a=(1,)
<console>:1: error: illegal start of simple expression
       val a=(1,)

2 个答案:

答案 0 :(得分:10)

对于基数为2或更高的元组,您可以使用括号,但是对于基数1,您需要使用Tuple1

scala> val tuple1 = Tuple1(1)
tuple1: (Int,) = (1,)

scala> val tuple2 = ('a', 1)
tuple2: (Char, Int) = (a,1)

scala> val tuple3 = ('a', 1, "name")
tuple3: (Char, Int, java.lang.String) = (a,1,name)

scala> tuple1._1
res0: Int = 1
scala> tuple2._2
res1: Int = 1
scala> tuple3._1
res2: Char = a
scala> tuple3._3
res3: String = name

答案 1 :(得分:2)

根据定义,元组是有序的元素列表。虽然存在Tuple1,但我没有看到它明确使用,因为您通常使用单个元素。然而,没有糖,你需要使用Tuple1(1)