Несогласованное поведение для xs.sliding (n), если n меньше размера?

Согласно scaladoc, скользящая () возвращает ... "Итератор, производящий итерируемые коллекции размером size , за исключением последнего и единственного элемента, который будет усечен, если там меньше элементов, чем размер . "

Интуитивно, для меня функция slide (n) вернет скользящее окно из n элементов , если доступно . В текущей реализации мне нужно выполнить дополнительную проверку, чтобы убедиться, что я не получил список из 1 или 2 элементов.

scala> val xs = List(1, 2)
xs: List[Int] = List(1, 2)

scala> xs.sliding(3).toList
res2: List[List[Int]] = List(List(1, 2))

Вместо этого я ожидал увидеть пустой список. Почему вместо этого выполняется функция slide ()?

15
задан Adrian 31 October 2011 в 19:50
поделиться