为什么我不能用Map迭代(Int,Int,Int)?

Kar*_*lek 3 scala

可能重复:
在Scala元组上使用'map'和东西?

为什么我不能迭代这个构造(我不知道如何调用它,因为Scala只是调用它(Int, Int, Int))?

val list = (1,2,3)
list.map{println _}
Run Code Online (Sandbox Code Playgroud)

上面的代码产生以下错误:

<console>:9:错误:值映射不是(Int,Int,Int)
(1,2,3).map {println _}的成员

om-*_*nom 5

你可以使用.productIterator.productElements用于这样的事情:

t.productElements.toList.map(println)
Run Code Online (Sandbox Code Playgroud)

我用toList来严格操作,导致productIterator返回懒惰的Iterator.

提示:建议.foreach用于没有结果的函数(产生副作用的函数,就像println一样)

t.productElements.toList.foreach(println)
Run Code Online (Sandbox Code Playgroud)