Tenía una lista de Scala tuplas como la siguiente:inesperado patrón de Scala sintaxis de coincidencia
val l = List((1,2),(2,3),(3,4))
y quería hacer un mapa en una lista de Int, donde cada elemento es la suma de los Entrs en los correspondientes tupla Además, no me quiero usar a usar la notación x._1 por lo que resolvió el problema con un patrón de coincidencia como esta
def addTuple(t: (Int, Int)) : Int = t match {
case (first, second) => first + second
}
var r = l map addTuple
Hacer que obtuve la lista R: Lista [Int] = Lista (3, 5, 7) como se esperaba. En este punto, casi por casualidad, descubrí que puedo lograr el mismo resultado con una forma abreviada como la siguiente:
val r = l map {case(first, second) => first + second}
No puedo encontrar ninguna referencia a esta sintaxis en la documentación que tengo. ¿Eso es normal? ¿Me estoy perdiendo algo trivial?
Esta sintaxis es agradable, pero para tales cosas, prefiero l.map (t => t._1 + t._2). Creo que no hay nada de malo en la sintaxis x._1 – Landei