Tengo problemas para escribir una aplicación específica a la manera scala-elegante. He intentado esto desde hace algún tiempo, pero no puedo encontrar una "buena" solución a este problema:Itere sobre una lista, devolviendo el actual, el siguiente y el elemento antes del actual
Dado que tengo la siguiente lista:
List("foo", "bar", "baz", "blah")
Quiero iterar sobre esta lista, no sólo dándome el elemento actual para cada iteración pero también el elemento antes y después del elemento actual. Esto podría ser un Tuple3 pero no es obligatorio. Esto podría ser la firma de tupla:
(Option[T], T, Option[T])
Para aclarar lo que quiero decir, esta es la tupla propuesto para cada iteración sobre un List[String]
, que termina después del cuarto.
iteración 1: (None, "foo", Some("bar"))
iteración 2: (Some("foo"), "bar", Some("baz"))
iteración 3: (Some("bar"), "baz", Some("blah"))
iteración 4: (Some("baz"), "blah", None)
¿Cómo podría lograr tal resultado? De nuevo: no estoy vinculado al Tuple3, ¡cualquier otra solución también es muy apreciada!
Gracias!
Estoy seguro de que esto funciona, pero mi versión de Scala no parece tener deslizamiento definido. Estoy usando 2.8.0.Beta1-RC7, ¿qué versión se requiere para usar deslizamiento? – Malax
Estoy usando 2.8.0.Beta1-RC8 – retronym
Parece que RC8 es obligatorio, funciona ahora. ¡Gracias! :-) – Malax