всё верно, unshift - добавляет на 1е место в массиве, таким образом сдвигая всё содержимое
т.к. итерация массива происходит с начала к концу, то выходит
for item in numbers
puts item
puts reverse_numbers
reverse_numbers.unshift(item)
end
т.е. сначала reverse_number - пустой, потом в его начало добавляется 1й эл-т массива numbers
потом вновь на 1е место в reverse_number подставляется 2й эл-т numbers, сдвигая на 2е место ранее добавленный 1й эл-т и так до конца numbers