def productsNConsecutiveItems(lst: List[Int], n: Int): List[Int] = {
if (n <= 0 || lst.length < n) Nil
else lst.sliding(n).map(window => window.product).toList
}
val lst = List(2, 3, 4, 5, 6, 7, 8, 9, 10)
val n = 3
/*
* Example for n_consecutive_items = 3:
* 2 * 3 * 4 = 24
* 3 * 4 * 5 = 60
* 4 * 5 * 6 = 120
* 5 * 6 * 7 = 210
* 6 * 7 * 8 = 336
* 7 * 8 * 9 = 504
* 8 * 9 * 10 = 720
*/
println(productsNConsecutiveItems(lst, n))
/*
run:
List(24, 60, 120, 210, 336, 504, 720)
*/