首页 文章

为什么我不能用Map迭代(Int,Int,Int)? [重复]

提问于
浏览
3

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

为什么我不能遍历这个构造(我不知道如何调用它,因为Scala只是将其称为 (Int, Int, Int) )?

val list = (1,2,3)
list.map{println _}

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

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

3 回答

  • 4

    您可以使用 .productIterator.productElements 来执行此类操作:

    t.productElements.toList.map(println)
    

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

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

    t.productElements.toList.foreach(println)
    
  • 3

    我知道了 .

    它被称为“元组”,它已在这里得到解答 .

    Use 'map' and stuff on Scala Tuples?

  • 5

    基于您的值 list 的名称,您似乎打算使用List而不是Tuple . 试试这个来创建一个定义 mapList

    List(1,2,3).map{println _}
    

相关问题