¿Cuál es la mejor expresión de Scala para hacer coincidir un valor con el n-ésimo elemento de una lista?Coincide con el n-ésimo elemento de una lista en Scala
El enfoque ingenuo, obviamente, no funciona:
scala> val list = List(5,6,7)
list: List[Int] = List(5, 6, 7)
scala> val x = 7
x: Int = 7
scala> x match { case list(2) => true; case _ => false }
<console>:10: error: value list is not a case class constructor, nor does it have an unapply/unapplySeq method
x match { case list(2) => true; case _ => false }
Para clarify- esta pregunta no es acerca de cómo comparar un valor al elemento enésimo de una lista - que es específicamente acerca de si ella puede hacerse usando el emparejamiento.
Si necesita indexar en su secuencia, sería mejor usar 'Vector' en lugar de' List'. – missingfaktor
Cierto, pero si casi todos mis accesos son primordiales, y muy raramente necesito mirar un poco más adentro, entonces 'List' puede ser aún más eficiente en general. –