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