想想在Java中,如果需要一个包含不同类型数据的对象,我们会怎么做?最常见的思路(我只能想到这一个,当然使用序列化手段不算)就是将不同类型的数据封装为一个JavaBean。
在Scala中则非常简单,直接使用元组即可。看一下下面的程序:
var robinTuple = ("robin", 30, 'M', "China Beijing"); println(robinTuple) println(robinTuple._1) println(robinTuple._2) println(robinTuple._3)
先来看一下执行结果:
第一行代码创建了一个元组。元组中包含四个元素,第一个元素的类型是String、第二个的类型是Int,第三个的类型是char。
第二行代码我试着输出了元组的信息。这只是一个试探性的做法,结果如我预期输出了全部的元组元素。正确访问元组中的元素的做法是使用元组对象+“.”+下划线+从1开始的索引值。注意了,索引值是从1开始的(对于拥有静态类型元组的语言如Haskell,从1开始是传统的设定)。
与列表一样,元组长度也是不可变的。
ALL!