I frequently find myself working with Lists, Seqs, and Iterators of Tuples and would like to do something like the following,
val arrayOfTuples = List((1, "Two"), (3, "Four"))
arrayOfTuples.map { (e1: Int, e2: String) => e1.toString + e2 }
However, the compiler never seems to agree with this syntax. Instead, I end up writing,
arrayOfTuples.map {
t =>
val e1 = t._1
val e2 = t._2
e1.toString + e2
}
Which is just silly. How can I get around this?
A work around is to use case
:
arrayOfTuples map {case (e1: Int, e2: String) => e1.toString + e2}