У меня возникли проблемы с написанием конкретного приложения в scala -сеском и изящном виде. Я пробовал это в течение некоторого времени, но я не могу найти "хорошее" решение этой проблемы:
Учитывая, что у меня есть следующий список:
List("foo", "bar", "baz", "blah")
Я хочу перечислить этот список, не только предоставив мне текущий элемент для каждой итерации, но и элемент до и после текущего элемента. Это может быть Tuple3, но не требуется. Это может быть сигнатура Tuple:
(Option[T], T, Option[T])
Чтобы прояснить, что я имею в виду, это предлагаемый Tuple для каждой итерации над a List[String]
, заканчивающийся после четвертого.
Итерация 1: (None, "foo", Some("bar"))
Итерация 2: (Some("foo"), "bar", Some("baz"))
Итерация 3: (Some("bar"), "baz", Some("blah"))
Итерация 4: (Some("baz"), "blah", None)
Как я могу достичь такого результата? Снова: я не привязан к Tuple3, любое другое решение также очень ценится!
Спасибо!