Look at fixed-size windows across a sequence.

Sliding Windows

SlidingWindow.scala
object Main {
  def main(args: Array[String]): Unit = {
    val size = 
    val nums = List(1, 2, 3, 4)
    val windows = nums.sliding(size).toList
    val sums = windows.map(w => w.sum)

    println("count=" + windows.length)
    println("sums=" + sums.mkString(","))
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val size = 
    val nums = List(1, 2, 3, 4)
    val windows = nums.sliding(size).toList
    val sums = windows.map(w => w.sum)

    println("count=" + windows.length)
    println("sums=" + sums.mkString(","))
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val size = 
    val nums = List(1, 2, 3, 4)
    val windows = nums.sliding(size).toList
    val sums = windows.map(w => w.sum)

    println("count=" + windows.length)
    println("sums=" + sums.mkString(","))
  }
}
sliding-window `sliding` walks a fixed-size window across the sequence one step at a time. Summing each window turns the chunks into scalar values.