如何在Scala中打印元组的所有值?

时间:2012-12-19 19:06:19

标签: scala tuples

我现在正在学习Scala,我试图将一个元组传递给一个用for循环打印所有元素的函数。这是我到目前为止所做的事情,但显然出了问题。

object Tuple_demo {
    def main(args: Array[String])
    {
      var tup1=(10,"test",6.8)
      printMe(tup1)
    }
    def printMe(tup1:Tuple1)
    {
      for (ob<-tup1)
      {
        println(ob)
      }
    }
}

1 个答案:

答案 0 :(得分:11)

所有Scala元组都延伸Product。您可以使用其productIterator来迭代元组项:

scala> (10,"test",6.8).productIterator.foreach(println)
10
test
6.8

printMe功能的类型声明不正确。它应该是一个3元组元组,其中指定了其项目类型,即tup1: Tuple3[Int, String, Double]。此外,Scala有一个用于元组类型声明的糖,因此以下也是正确的:tup1: (Int, String, Double)