Я попытался выполнить итерацию назад с использованием диапазона и each:
(4..0).each do |i|
puts i
end
==> 4..0
Итерация через 0..4 записывает числа. На другом диапазоне r = 4..0 выглядит нормально, r.first == 4, r.last == 0.
Мне кажется странным, что приведенная выше конструкция не дает ожидаемого результата. В чем причина этого? Каковы ситуации, когда это поведение разумно?