scala - 映射操作中的元组解包

标签 scala dictionary iterator tuples iterable-unpacking

我经常发现自己使用列表、序列和元组迭代器,并且想做如下的事情,

val arrayOfTuples = List((1, "Two"), (3, "Four"))
arrayOfTuples.map { (e1: Int, e2: String) => e1.toString + e2 }

但是,编译器似乎从来不同意这种语法。相反,我最终写道,

arrayOfTuples.map { 
    t => 
    val e1 = t._1
    val e2 = t._2
    e1.toString + e2 
}

这太愚蠢了。我该如何解决这个问题?

最佳答案

解决方法是使用case:

arrayOfTuples map {case (e1: Int, e2: String) => e1.toString + e2}

关于scala - 映射操作中的元组解包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6905207/

相关文章:

rust - 从函数中有效地返回 1-9 个字节

python - 从 CSV 数据流 python 创建一个字典

scala - 如何默认禁用 "Slow"标记的 Scalatests,允许使用选项执行?

scala - IntelliJ 上的 java.lang.StackOverflowError

scala - 为什么输入参数在方法中是逆变的?

java - 为什么我无法使用我的对象的副本从该映射中 get() ?

java - Hadoop 框架中使用的属性的完整列表

c++ - OpenMP、C++ 和迭代器

c++ - 如何正确迭代QT的STL风格 vector

scala - Scala 中的 Python 类包名称别名