N
почуму встроенный (1..10).each_slice(3) {|x| p x} не выдаёт в конце возвращаемое значение, а если пишешь свою реализацию, то выдаёт. Хоть nil но возвращает.
чтобы вернуть измененный массив, нужно добавить map
(1..10).each_slice(3).map { |el| el }
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]