我以编程和优雅的方式编写特定的应用程序时遇到问题。我现在想这一段时间,但我不能找到一个“好”的解决了这个问题:在列表中迭代,返回当前,下一个和当前的元素
假设我有以下列表:
List("foo", "bar", "baz", "blah")
我想遍历这个列表,不仅为每个迭代提供当前元素,而且还为当前元素之前和之后的元素提供元素。这可能是一个Tuple3,但不是必需的。这可能是元组签名:
(Option[T], T, Option[T])
为了澄清我的意思,这是所提出的元组每次迭代在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,任何其他解决方案也非常感谢!
谢谢!
我敢肯定,这有效,但我的斯卡拉版本似乎没有滑动定义。我正在使用2.8.0.Beta1-RC7,哪个版本需要使用滑动? – Malax 2010-01-25 20:27:43
我正在使用2.8.0.Beta1-RC8 – retronym 2010-01-25 20:32:15
似乎RC8是必需的,现在就可以使用。谢谢! :-) – Malax 2010-01-25 20:42:09