Ich habe Probleme mit dem Schreiben einer bestimmten Anwendung auf eine skalare und elegante Weise. Ich habe versucht, das nun schon seit einiger Zeit, aber ich kann eine „gute“ Lösung für dieses Problem nicht finden:Iterieren über eine Liste, Rückgabe der aktuellen, nächsten und das Element vor aktuellen
Da ich die folgende Liste habe:
List("foo", "bar", "baz", "blah")
Ich möchte über diese Liste iterieren, nicht nur Ich gebe das aktuelle Element für jede Iteration, aber auch das Element vor und nach dem aktuellen Element. Dies könnte ein Tuple3 sein, ist aber nicht erforderlich. Dies könnte die Tuple-Signatur:
(Option[T], T, Option[T])
Um zu klären, was ich meine, das ist die vorgeschlagene Tuple für jede Iteration über ein List[String]
, nach dem vierten Ende.
Iteration 1: (None, "foo", Some("bar"))
Iteration 2: (Some("foo"), "bar", Some("baz"))
Iteration 3: (Some("bar"), "baz", Some("blah"))
Iteration 4: (Some("baz"), "blah", None)
Wie konnte ich erreichen, ein solches Ergebnis? Nochmals: Ich bin nicht an den Tuple3 gebunden, jede andere Lösung wird auch sehr geschätzt!
Danke!
Ich bin mir sicher, dass das funktioniert, aber meine Version von Scala scheint nicht gleitend definiert zu sein. Ich benutze 2.8.0.Beta1-RC7, welche Version wird benötigt, um gleiten zu können? – Malax
Ich benutze 2.8.0.Beta1-RC8 – retronym
Scheint, dass RC8 erforderlich ist, funktioniert jetzt. Vielen Dank! :-) – Malax