Причина, по которой вы получаете Int
вместо List
, заключается в том, что s
- это поток целых чисел, поэтому он содержит целые числа, а не списки.
Причина, по которой вы получаете 3, заключается в том, что хвост (1,2,3,4,5, ...) (т.е. s
) равен (2,3,4,5, ...) и если вы нанесете на карту +1, вы получите (3,4,5,6,7, ...), а верхний предел - 3.
Причина, по которой печатается только одно целое число, состоит в том, что выражение вычисляется только один раз, чтобы получить поток для хвоста. После этого оценивается только поток, возвращенный s.tail.map(_+1)
(который не содержит операторов print).