3

我现在正在学习 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)
      }
    }
}
4

1 回答 1

12

所有 Scala 元组都扩展Product。您可以使用它productIterator来迭代元组项:

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

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

于 2012-12-19T19:10:01.090 回答