我以編程和優雅的方式編寫特定的應用程序時遇到問題。我現在想這一段時間,但我不能找到一個「好」的解決了這個問題:在列表中迭代,返回當前,下一個和當前的元素
假設我有以下列表:
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