Метод скользящий в коллекциях возвращает скользящее окно заданного размера в форме X[Iterable[A]]
, где X - тип коллекции, а A - тип элемента. Часто мне нужны два или три элемента, и я предпочитаю их назвать. Один уродливый обходной путь для sliding(2)
следующий:
points.sliding(2).foreach{ twoPoints =>
val (p1,p2) = (twoPoints.head,twoPoints.last)
//do something
}
Это отстой и работает только для двух элементов. Также обратите внимание, что
(a,b) = (twoPoints(0),twoPoints(1))
не работает.